【问题标题】:Taylor series for cos(x) in matlabmatlab中cos(x)的泰勒级数
【发布时间】:2015-04-30 13:48:40
【问题描述】:

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

但是那个代码没有给出真实的结果。为什么?

【问题讨论】:

  • 为什么术语数取决于角度(x)?它应该取决于所需的精度。而且我相信它是弧度,而不是度数..
  • 但我有度数
  • 那你需要转换一下。或更改扩展。
  • 我记得再次谢谢你

标签: matlab trigonometry taylor-series


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    for i=1:1:100
    

    获取泰勒级数的前 100 个项。 另外,步长为 1 时可以省略,所以

    for i=1:100
    

    同样有效。

    编辑:我假设您以弧度输入 x,对吧?

    【讨论】:

      猜你喜欢
      • 2020-03-01
      • 2020-04-01
      • 2021-08-12
      • 1970-01-01
      • 2018-06-23
      • 2016-01-24
      • 2018-09-13
      • 1970-01-01
      • 2021-12-26
      相关资源
      最近更新 更多