Известно, что 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= scalar
S2 = scalar
Я пытаюсь улучшить его следующим образом:
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
Однако время выполнения этого улучшения похоже на исходный код.