Я беру курс MATLAB и написал следующий код. Один из них - FOR LOOP, а другой - векторизация. FOR LOOP возвращает правильный результат, но векторизация этого не делает. Может ли кто-нибудь сказать мне, что я неправильно закодировал?MATLAB векторизованный код возвращает неправильный результат
Должно быть для следующего уравнения.
1 - 1/3 + 1/5 - 1/7 + 1/9 - ... - 1/1003 (сумма 0,7849 - сходится медленно до пи/4)
ИСПОЛЬЗОВАТЬ ДЛЯ LOOP
clc
clear
tic
sign = -1;
y=0;
for x=1:2:1003
sign=-sign;
y=y+sign/x;
end
disp(['For Loop calculated ' num2str(y), ' and ran for ' num2str(toc)])
USE векторизация
clear
tic
n=1:2:1003;
x=sum(1./n -1./(n+2));
disp(['Vectorization calculated ' num2str(x), ' and ran for ' num2str(toc)])