在 GNU Octave 中绘制 sin(x) 的泰勒多项式

Plotting Taylor polynomial for sin(x) in GNU Octave

我正在尝试在 a=0 处绘制 sin(x) 的泰勒多项式,输入为 m 度,在 GNU Octave 中。 sin(x) 与估计一起绘制。

m = int8(input('Input integer m in [0,10]: '));
if m<0 || m>10
    disp('Thanks for playing');
    return;
  end
x = [-5:0.01:5];

y1 = sin(x);
for n=0:m
  y2 = ((-1).^n/factorial(2*n+1))*x.^(2*n+1);
  plot(y2);
  hold on;
  end
plot(y1,'linewidth',4)
ylim([-1.5,1.5]);

以上代码打印出下图:

是什么导致每个估计的拐点都这么少?我试过设置 xlim([-5,5]) 但这并没有解决我的问题。

目前您只计算每一项而不求和。

您需要初始化 y2 并更新每次迭代的总和:

y2 = 0  % initialize y2

for n = 0:m
  y2 = (-1).^n/factorial(2*n+1) * x.^(2*n+1) + y2;  % add to previous y2
  plot(y2);
  hold on;
end