我想知道是否有人对改进以下 MATLAB 代码的性能、演示和/或输出有任何建议?
我编写了一个程序来使用部分和来近似 sin x
((-1)^n)*(x.^((2*n)+1))/(factorial((2*n)+1))
使用方法 LS 和 SL。对于 LS,我计算并求和了从最大项到最小项的最后一项。对于 SL,我以相反的顺序进行了计算。
这是我的功能:
function ret = taylorsin(x,n)
ret = ((-1)^n)*(x.^((2*n)+1))/(factorial((2*n)+1));
end
和我的短代码:
function ret = partialsum(x,n,log)
ret = 0;
if log == 1
for i = 0:1:n
ret = ret + taylorsin(x,i);
i=i+1;
end
elseif log == 0
for i = n:-1:0
ret = ret + taylorsin(x,i);
i = i+1;
end
end
end
感谢您的任何意见。