【发布时间】:2021-07-29 15:47:08
【问题描述】:
我的程序的一部分包含这段代码:
size2=2500;
gran=3;
A=ones(size2,size2);
for k=1:gran:(size2-gran)
for j=1:gran:(size2-gran)
X=rand*2*pi-pi;
for h=1:gran
for l=1:gran
A(k+l-1,j+h-1) = A(k+l-1,j+h-1) *exp(+1i*X); %phase in the square gran x gran
end
end
end
end
我的电脑在 0.60 秒内运行此代码,但我想知道是否可以加快此过程。
一种更快的方法是将其编写为矩阵乘法,但为了编写 X,我认为我必须创建一个 for 循环。
有什么办法可以提高这段代码的速度吗?
【问题讨论】:
标签: performance matlab for-loop