这段代码在 Matlab 中没有给我 cos(x)

This code doesn't give me cos(x) in Matlab

我已经从 Otto 的书中修改了 sin(x) 的代码以获得 cos(x),并且我做了以下操作:

v=0.:0.25:0.75;
cosx=zeros(size(v));
N=10; 
range=0:N;
ints=2*range;

for n=range 
   cosx=cosx + (-1)^n*v.^ints(n)/factorial(ints(n));
end

但是这个到处都是0的东西。

有人可以帮我解决这个问题吗?非常感谢

您必须更改代码中的两处才能获得正确的泰勒级数展开式。这是代码。注意变化。

v=0:0.25:0.75;
cosx=zeros(1,size(v,2)); %Now, it's a vector
N=10; 
range=0:N;
ints=2*range;

for n=range 
   cosx=cosx + (-1)^n*v.^ints(n+1)/factorial(ints(n+1)); % replace n by n+1,        
                                                         % MATLAB indexing starts from 1.
end