对于函数f(x)= sin x,记f(x)为f(x)在x=0处的n阶泰勒展开式. (1)在同一个坐标系中,用不同颜色画出区间(-2,2)内f(x)及fn(x)(n=1,3,5)图 形;
时间: 2024-10-14 20:18:46 浏览: 33
改进型的BP神经网络拟合函数y=sin(x)
为了在Matlab中创建这个图形,我们将首先定义函数 `f(x)` 为正弦函数 `sin(x)`,然后计算其一阶、三阶和五阶的泰勒展开式 (`fn(x)`),接着绘制它们在区间 (-2, 2) 内的图像。每个泰勒展开式的颜色将会不同。
```matlab
% 定义原函数 f(x) = sin(x)
f = @(x) sin(x);
% 定义泰勒展开函数,从一阶开始
TaylorSeries = @(n,x) sum((-1) .^ (k+1) * factorial(k) / (2^(2*k+1) * k!) .* x.^(2*k)) for k = 0:n;
% 绘制不同阶数的泰勒展开
x_values = linspace(-2, 2, 400); % 创建等间距的x值点集
% n = 1, 3, 5 的泰勒展开图
figure;
hold on; % 保持当前图形以便添加更多曲线
for n = [1, 3, 5]
fn_x = TaylorSeries(n, x_values);
plot(x_values, fn_x, 'Color', sprintf('blue'), 'LineWidth', 1.5, ...
'DisplayName', sprintf('n=%d', n));
end
% 原函数图
plot(x_values, f(x_values), 'Color', 'red', 'LineWidth', 2, 'DisplayName', 'f(x)');
% 添加轴标签和标题
xlabel('x');
ylabel('y');
title('Taylor Series Expansion of f(x) = sin(x) at x=0');
legend('show'); % 显示图例
hold off; % 解除保持模式
```
运行这段代码后,你会得到一个在同一坐标系中的图表,显示了正弦函数 `f(x)` 和一阶、三阶、五阶泰勒展开式 `fn(x)` 在区间 (-2, 2) 上的图形。每种泰勒展开式使用了不同的蓝色,而正弦函数则用红色表示。
阅读全文