欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 时评 > matlab展示龙格现象

matlab展示龙格现象

2025/2/5 15:50:06 来源:https://blog.csdn.net/qq_65800683/article/details/145062462  浏览:    关键词:matlab展示龙格现象

在这里插入图片描述

为了展示龙格现象,它使用拉格朗日插值多项式,展示了随着插值点数目的增加,插值多项式在区间端点附近震荡的现象。

重新编写的 MATLAB 代码:

% 定义目标函数
f = @(x) 1 ./ (1 +  x.^2);% 设置插值区间
x_interval = [-5, 5];  % 插值区间
x_fine = linspace(x_interval(1), x_interval(2), 1000);  % 用于绘制精细图像的点% 生成插值的真实值
y_fine = f(x_fine);% 设置不同的插值节点数目
node_counts = [5, 8, 12];% 绘制真实函数图像
figure;
hold on;
plot(x_fine, y_fine, 'k', 'LineWidth', 2);  % 真实函数colors = {'r', 'g', 'b'};  % 插值结果的颜色% 对不同的节点数目进行插值并绘制
for k = 1:length(node_counts)% 生成均匀分布的插值节点x_nodes = linspace(x_interval(1), x_interval(2), node_counts(k));y_nodes = f(x_nodes);% 拉格朗日插值y_interp = lagrange_interpolation(x_nodes, y_nodes, x_fine);% 绘制插值结果plot(x_fine, y_interp, 'Color', colors{k}, 'LineWidth', 1.5);
end% 添加标签和图例
legend('真实函数', '5节点插值', '8节点插值', '12节点插值');
title('龙格现象示例');
xlabel('x');
ylabel('f(x)');
grid on;
hold off;% 
function y_interp = lagrange_interpolation(x_nodes, y_nodes, x_interp)n = length(x_nodes);
xi=x_interp;
y_interp=zeros(size(xi)); 
for i = 1:nL = ones(size(xi));%注意L的位置for j = 1:nif i ~= jL= L.* (xi - x_nodes(j)) / (x_nodes(i) - x_nodes(j));endendy_interp =y_interp + y_nodes(i)*L;
end
end
% 拉格朗日插值函数
% function y_interp = lagrange_interpolation(x_nodes, y_nodes, x_interp)
%     n = length(x_nodes);
%     y_interp = zeros(size(x_interp));
%     
%     for i = 1:n
%         L = ones(size(x_interp));  % 初始化L为1
%         for j = 1:n
%             if j ~= i
%                 L = L .* (x_interp - x_nodes(j)) / (x_nodes(i) - x_nodes(j));
%             end
%         end
%         y_interp = y_interp + y_nodes(i) * L;
%     end
% end

取五个点,八个点,十二个点如图:

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

分段插值多项式

我们通过对拉格朗日插值和牛顿插值多项式分析发现,当插值次数增高时会发生龙格现象,因此我们用分段插值多项式,尽管分段插值多项式再精度上有所提高,并且回避了龙格现象,但是它也带来了新的问题,就是在整个区间上不可导。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com