【发布时间】:2017-01-07 08:37:02
【问题描述】:
我必须编写一个函数来获取 x(向量)和数字(N),并将绘制 cos(x) 的误差减去它的泰勒级数直到 N(例如 N=3,所以函数是 abs(cos(x )-(1-x^2/2+x^4/4))。 代码如下:
function question2 (x,N)
sum=0;
s=1;
for i=0:2:N;
sum=sum+((s*(x).^(i))/factorial(i));
s=s*(-1);
end
y=abs(cos(x)-sum);
plot(x,y)
end
图是这个:
但这应该是相反的!它必须是单调递减的,最终几乎是线性的。谢谢
【问题讨论】:
-
你知道
sum是一个标量吗? -
如果我理解正确, sum 不是标量。这里我把 x=1:3。对于每个 x (1,2,3),我得到另一个总和值。我是把它写成一个 sacalar(也许那是我的错误……)?
-
啊,我错了,我看错了你的代码。
-
您使用的是弧度还是度数?
-
但是假设你的代码是正确的,这个图表不是你所期望的吗?当您远离 x=0 时,泰勒近似的误差会增加。
标签: matlab