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

时间:2015-08-24 04:20:37

标签: matlab math trigonometry

我已经从奥托的书中修改了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。

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

1 个答案:

答案 0 :(得分:3)

您必须在代码中更改两件事才能获得正确的Taylor Series扩展。这是代码。注意这些变化。

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