最近学习了matlab中arrayfun函数的使用,可以进行“任意资料型别上的向量化运算”,对关于这方面的资料比较少,最早的中文资料见于一台湾论坛上对的翻译,后来在simwe、振动论坛上见到有过讨论。于是想把以前用循环才能完成的积分试着用arrayfun来完成。

模型为:

[X,Y]=meshgrid(xx,yy);

M=exp(-u*arfa^2)*exp(i*u*pi*a^2/x*1e-14*7)*besselj(0,u^0.5*2*a*pi*sin(y)/x*6);

对表达式中的u进行积分,其中的x、y要用网格数据X、Y来替代,以前只能用循环来完成,现在做适当变换处理,即可用arrayfun来完成。

[适量化矩阵表达式积分运算程序,by: ncforest.blog.163.com]

clear all;

syms x y u;

arfa=1.07;

a=200000000;

xx=linspace(800,1500,2); %只取2长度测试,实际的矩阵应该更大

yy=linspace(-6,6,2)*1e-6;

[X,Y]=meshgrid(xx,yy);

M=exp(-u*arfa^2)*exp(i*u*pi*a^2/x*1e-14*7)*besselj(0,u^0.5*2*a*pi*sin(y)/x*6);

fstr=char(vectorize(inline(M)));

%不能直接将quadl进行符号运算,将其转换为字符表达式,注意其中的inline(%s)是必需的,否则无法对fstr进行函数运算,产生错误

fstr=sprintf('quadl(inline(%s),0.2^2,1)',fstr);

%然后转换为一个函数

fun=inline(fstr,'x','y','u');

%然后运用arrayfun进行向量化运算,采用了匿名函数格式

Z=arrayfun(@(xi,yi) fun(xi,yi,u),X,Y);

Z=2*arfa^2*abs(Z).^2;

Z=10*log(10*(Z));

% 上面的程序如果采用循环的话,则为:

% Z=zeros(length(xx),length(yy));

% for xi=1:length(xx)

% xi

% for yi=1:length(yy)

% M=exp(-u*arfa^2)*exp(i*u*pi*a^2/xx(xi)*1e-14*7)*besselj(0,u^0.5*2*a*pi*sin(yy(yi))/xx(xi)*6);

% fun=inline(char(M),'u');

% fun=vectorize(fun);

% Z(xi,yi)=2*arfa^2*abs(quadl(fun,0.2^2,1)).^2;

% Z(xi,yi)=10*log(10*(Z(xi,yi))); % end;

% end

matlab 积分 例子,[Matlab]使用arrayfun对矩阵表达式积分的例子相关推荐

  1. matlab 色块图,matlab绘制矩阵色块图

    function matrixplot(data,varargin) % 根据实值矩阵绘制色块图,用丰富的颜色和形状形象的展示矩阵元素值的大小. % % matrixplot(data) 绘制矩阵色块 ...

  2. matlab矩阵指定行最大值,求Matlab程序:在2行矩阵中,如何求第1行最大值和第2行相应的最大,请问,如何在MATLAB中编写程序实现求两矩阵A*B,A.*...

    导航:网站首页 > 求Matlab程序:在2行矩阵中,如何求第1行最大值和第2行相应的最大,请问,如何在MATLAB中编写程序实现求两矩阵A*B,A.* 求Matlab程序:在2行矩阵中,如何求 ...

  3. 《信号与系统》3.5.3卷积积分的 Matlab实现

    3.5.3卷积积分的 Matlab实现 Matlab 的库函数 conv()只能计算离散序列 f1 与 f2 的卷积和,构造函数 conv() 实现两连续信号的卷积积分. Y=conv(x,h) 实现 ...

  4. 台湾国立大学郭彦甫Matlab教程笔记(15)polynomial integration 多项式积分

    台湾国立大学郭彦甫Matlab教程笔记(15) Polynomial integration多项式积分 一个多项式和它的积分如下 MATlAB中如何计算积分? polynomial integrati ...

  5. matlab求两点间距离,matlab如何求一个N*2的矩阵的任意两点间的距离?

    matlab如何求一个N*2的矩阵的任意两点间的距离? mip版  关注:64  答案:3  悬赏:0 解决时间 2021-02-23 20:55 已解决 2021-02-23 16:37 假设有个矩 ...

  6. Matlab:创建、串联和扩展矩阵

    Matlab:创建.串联和扩展矩阵 构建数据矩阵 专用矩阵函数 串联矩阵 生成数值序列 扩展矩阵 空数组 最基本的 MATLAB 数据结构体是矩阵.矩阵是按行和列排列的数据元素的二维矩形数组.元素可以 ...

  7. matlab读取txt到矩阵,如何在MATLAB中将文本文件中的数据读入矩阵(How to read data from a text file into a matrix in MATLAB)...

    如何在MATLAB中将文本文件中的数据读入矩阵(How to read data from a text file into a matrix in MATLAB) 我在将.txt文件读入单个矩阵时遇 ...

  8. matlab研究积分,运用Matlab实现数值积分的教学研究

    在很多积分问题中,古典的求解积分方法无论在理论上还是在解决实际问题中都起了很大的作用,但由于积分函数的复杂性,古典积分公式并不能完全解决定积分的计算问题.由此可见,通过原函数来计算积分有它的局限性.随 ...

  9. 【Matlab】在matlab绘制渐变混淆矩阵

    [Matlab]在matlab绘制渐变混淆矩阵 1.混淆矩阵概念 2.文件结构 3.输出效果 4.示例代码 1.混淆矩阵概念 混淆矩阵是一种表示分类模型预测结果的标准格式,用n行n列的矩阵形式来表示1 ...

最新文章

  1. 基于 FPGA 的并行全比较排序算法,topK
  2. oracle 哦【的【,清晰讲解SQL语句中的外连接,通用于Mysql和Oracle,全是干货哦
  3. html5本地缓存如何提交,HTML5: 本地缓存
  4. 帝国cms怎么增加php,帝国CMS增加系统配置字段
  5. Win32多线程编程(2) — 线程控制
  6. 【LA3415 训练指南】保守的老师 【二分图最大独立集,最小割】
  7. 2021年上半年直播电商行业洞察
  8. C语言和设计模式(迭代器模式)
  9. [导入]C#中WebService里的回车符\r丢失问题
  10. 【luogu P2831 愤怒的小鸟】 题解
  11. Homekit智能开关/定时控制
  12. CodeForces 1556C :Compressed Bracket Sequences 思维
  13. AppScan安全扫描问题解决方案
  14. 【机器智能】双十一奇迹背后:机器智能如何构建社会的全新技术设施?
  15. css文本高亮显示,CSS3:高亮文本选中颜色
  16. MySQL表sql语句增删查改_学会这些操作你就不会栓Q(狗头)
  17. 深度学习跨层网络结构--特征融合
  18. 解除安卓车机禁止安装软件_每次换新机后第一时间会安装的安卓软件
  19. 什么是无纸化会议系统?能改变公司哪些现状
  20. Zspace(笔触震动)

热门文章

  1. js获取摄像头权限实现拍照功能
  2. ESP8266驱动1.44寸TFT屏幕(例程问题)
  3. Android项目开发教程之OpenGL ES
  4. 如何添加共享计算机用户,如何正确设置共享
  5. 他山之石 | 腾讯音乐知识图谱搜索实践
  6. JVM学习笔记② JVM运行时数据区域
  7. python cv2摄像头校准,坐标系转换
  8. android添加任务到最近任务列表
  9. (字符串分解器)StringTokenizer类的使用_无名小仙男
  10. 课程设计 学生选课管理 王杰 孙乾 蔚晓青