MATLAB 分段一次插值与图像绘制:f(x) = 1/(1+x^2)

以下代码使用MATLAB实现了分段一次插值并绘制了函数 f(x) = 1/(1+x^2) 的图像。代码包括以下步骤:

  1. 定义插值函数:使用 f = @(x) 1./(1+x.^2); 定义插值函数 f(x)。
  2. 定义插值区间和节点数量:使用 a = -5; b = 5; n = 15; 定义插值区间 [-5, 5] 和节点数量 15。
  3. 生成等距节点:使用 x = linspace(a, b, n); 生成插值区间上的等距节点。
  4. 计算节点处的函数值:使用 y = f(x); 计算节点处的函数值。
  5. 进行分段一次插值:使用 interp1 函数进行分段一次插值。
  6. 绘制图像:使用 plot 函数绘制插值结果、原始函数图像和节点。
% 定义插值函数
f = @(x) 1./(1+x.^2);

% 定义插值区间和节点数量
a = -5; % 插值区间左端点
b = 5;  % 插值区间右端点
n = 15; % 节点数量

% 生成等距节点
x = linspace(a, b, n);

% 计算节点处的函数值
y = f(x);

% 使用分段一次插值进行插值
xx = linspace(a, b, 1000); % 更细的插值点用于绘图
yy = interp1(x, y, xx, 'linear', 'extrap');

% 绘制图像
figure;
hold on;
plot(xx, yy, 'b-', 'LineWidth', 2);
plot(xx, f(xx), 'r-', 'LineWidth', 2);
plot(x, y, 'ro', 'MarkerSize', 8, 'MarkerFaceColor', 'r');
hold off;
legend('分段一次插值', 'f(x)', '节点', 'Location', 'best');
xlabel('x');
ylabel('f(x)');
title('f(x) 的分段一次插值近似');
grid on;

运行以上代码,即可在 MATLAB 中看到 f(x) 的分段一次插值近似图像。蓝色曲线表示插值结果,红色曲线表示原始函数 f(x),红色点表示等距节点处的函数值。

注意: 确保你已经安装了 MATLAB,并将以上代码粘贴到 MATLAB 编辑器中运行。

MATLAB分段一次插值与图像绘制:f(x) = 1/(1+x^2)

原文地址: https://www.cveoy.top/t/topic/omD 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录