【发布时间】:2011-11-02 02:26:48
【问题描述】:
众所周知,MATLAB 使用 for 循环运行缓慢。我试图矢量化以下代码但没有成功。也许我的实现有误。
for I = NS2:-1:1
A = 0;
for J=1:8
A = A + KS2(J,I)*FA(J);
end
S2 = S2 + ( SS2(1,I)*sin(A) + SS2(2,I)*cos(A) );
end
在哪里: FA = 矩阵 1x8
KS2 = 矩阵 8x25
SS2 = 矩阵 2x25
A = 标量
S2 = 标量
我尝试用这种方式改进它:
A = 0;
J = 1:8;
for I = NS2:-1:1
A = FA(1,J)*KS2(J,I);
S2 = S2 + ( SS2(1,I)*sin(A) + SS2(2,I)*cos(A) );
end
但是,此改进的运行时类似于原始代码。
【问题讨论】:
标签: performance matlab