我有一个简单的问题。我想写cos(x)的泰勒级数展开。 我写了那些代码
x=input('Please input an angle in degrees: ');
cosx=1;
for i=1:1:x
addterm = (-1)^i*(x.^(2*i))/factorial(2*i);
cosx = cosx + addterm;
end
a=['The value of cosine of ',num2str(x),' degrees is ', num2str(cosx)];
disp(a)
但该代码未给出真实结果。为什么?
答案 0 :(得分:1)
您使用的泰勒系列需要x
以弧度表示。在input
乘以x
乘π/180
后将度数转换为弧度。您还需要进行多次迭代,而不仅仅是x
。试试for i=1:1:10
,因为阶乘增长非常快。
答案 1 :(得分:0)
因为您只允许for
循环从1运行到x
;可能你想让它运行到一个特定的自然数,例如:
for i=1:1:100
获得泰勒系列赛的前100个学期。 此外,如果步长为1,则可以省略步长
for i=1:100
同样适用。
编辑:我假设你以弧度输入x
,对吗?