matlab使用笔记 时间记录 和 for循环改写成矩阵

开头 tic 结尾 toc,即可在最后显所用时间;

step=lamda/50;%换能器区域的步长,需要小步长
xnum=round(a/step);%积分区域-a/2,a/2;
ynum=round(b/step);%积分区域-b/2,b/2;
x0line=(1:1:xnum)*step-xnum/2*ones([1 xnum])*step;
y0line=(1:1:ynum)'*step-ynum/2*ones([ynum 1])*step;
%                       ↑↑加" '  "转置成列向量
x0=repmat(x0line,[ynum 1]);
y0=repmat(y0line,[1 xnum]);
xm=x(i)*ones(ynum,xnum);
ym=y*ones(ynum,xnum);
zm=z(j)*ones(ynum,xnum);
r=sqrt((xm-x0).^2+(ym-y0).^2+zm.^2);
pp=exp(-1j*k*r)./r*step^2;

ones生成全是1的矩阵;

repmat复制向量生成矩阵;

注意数组和矩阵运算的区别。

 

已更新,此代码有许多冗余。

 

 

 

你可能感兴趣的:(matlab使用笔记 时间记录 和 for循环改写成矩阵)