我已经从奥托的书中修改了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。
有人可以帮我解决这个问题吗?非常感谢
答案 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