matlab 中 cos(x) 的泰勒级数

Taylor series for cos(x) in matlab

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

但是那个代码没有给真result.Why?

您使用的泰勒级数需要x以弧度表示。在 input 之后将 x 乘以 π/180 以将度数转换为弧度。您还需要进行多次迭代,而不仅仅是 x。尝试 for i=1:1:10 因为阶乘增长非常快。

因为你只让你的for循环运行从1到x;可能你想让它 运行 一个特定的自然数,例如:

for i=1:1:100

获取泰勒级数的前 100 项。 此外,如果步长为 1,则可以省略步长,因此

for i=1:100

同样有效。

编辑:我假设您输入的是 x 弧度,对吗?