在同一坐标系做出区间[-1,1]上指数函数y=e^x及如下多项式函数y=1+x,y=1+x+x^2/2!,y=1+x+x^2/2!+...+x^6/6!的图像,观察多项式函数的图像逼近指数曲线的情况
时间: 2024-11-15 15:22:44 浏览: 26
在MATLAB中,为了在同一坐标系下比较指数函数 `y = e^x` 和多项式函数的图像,我们可以按照以下步骤操作:
1. 首先,定义指数函数:
```matlab
x = linspace(-1, 1, 400); % 等间隔点,保证细节清晰
e_x = exp(x); % 计算 e^x 的值
```
2. 接下来,定义多项式函数,从 `y = 1 + x` 到 `y = 1 + x + x^2/2! + ... + x^6/6!`:
```matlab
poly_funcs = [1, x, x.^2./2!, x.^3./factorial(3), x.^4./factorial(4), x.^5./factorial(5), x.^6./factorial(6)];
```
3. 绘制所有函数的图像:
```matlab
figure; % 新建一个图像窗口
hold on; % 保持当前会话,以便添加更多的曲线
plot(x, e_x, 'r', 'LineWidth', 2, 'DisplayName', '指数函数 (e^x)');
for i = 1:numel(poly_funcs)
y = poly_funcs{i};
plot(x, y, 'b', 'LineWidth', 1, 'Marker', '.', 'MarkerSize', 4, 'DisplayName', ['多项式 (' num2str(i) ')']);
end
hold off; % 取消保持状态
title('指数函数与多项式的逼近');
xlabel('x');
ylabel('y');
legend('show'); % 显示图例
grid on; % 加网格线
```
通过观察这些图像,你会看到随着多项式的阶数增加,其图像越来越接近指数函数 `e^x`。初始的线性函数 `y = 1 + x` 显著偏离,而更高阶的多项式逐渐逼近指数曲线。
阅读全文