在matlab中cos(x)的泰勒级数

时间:2015-02-27 18:38:44

标签: matlab cos taylor-series

我有一个简单的问题。我想写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)

但该代码未给出真实结果。为什么?

2 个答案:

答案 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,对吗?