这段代码在 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
我已经从 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