1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 清风数学建模学习笔记——应用matlab实现分段三次埃尔米特(Hermite)插值与三次样条插值

清风数学建模学习笔记——应用matlab实现分段三次埃尔米特(Hermite)插值与三次样条插值

时间:2020-05-22 14:08:11

相关推荐

清风数学建模学习笔记——应用matlab实现分段三次埃尔米特(Hermite)插值与三次样条插值

插值算法

数模比赛中,常常需要根据已知的函数点进行数据、模型的处理和分析,而有时候现有的数据是极少的,不足以支撑分析的进行,这时就需要使用一些数学的方法,模拟产生一些新的但又比较靠谱的值来满足需求,这就是插值的作用。另外也可以通过插值起到预测的作用。

文章目录

插值算法一、拉格朗日插值法与牛顿插值算法中的弊端二、分段三次埃尔米特插值与三次样条插值三、Matlab实现

一、拉格朗日插值法与牛顿插值算法中的弊端

拉格朗日插值法牛顿插值法都存在龙格现象,即在两端处波动极大,产生明显的震荡,使得函数的误差会很大。其次,两种插值仅仅要求插值多项式在插值节点处与被插函数有相等的函数值,而这种插值多项式却不能全面反映被插值函数的性态

二、分段三次埃尔米特插值与三次样条插值

直接使用埃尔米特插值得到的多项式次数较高,也存在着龙格现象。因此在实际应用中,往往使用分段三次埃尔米特插值多项式(PCHIP)。

分段三次埃尔米特

Matlab有内置的函数: p = pchip(x,y, new_x)

其中 x 是已知的样本点的横坐标;y 是已知的样本点的纵坐标;new_x是要插入处对应的横坐标

三次样条插值

三次样条插值比三次埃米特插值更加光滑。

Matlab有内置的函数:p = spline(x,y, new_x)

x是已知的样本点的横坐标;y是已知的样本点的纵坐标;new_x是要插入处对应的横坐标

三、Matlab实现

plot函数用法:

plot(x1,y1,x2,y2)

线方式: ‐ 实线 :点线 ‐. 虚点线 ‐ ‐ 波折线点方式: . 圆点 +加号 * 星号 x x形 o小圆颜色: y黄 r红 g绿 b蓝 w白 k黑 m紫 c青

分段三次埃尔米特插值

% 分段三次埃尔米特插值x = -pi:pi; y = sin(x); new_x = -pi:0.1:pi;p = pchip(x,y,new_x);plot(x, y, 'o', new_x, p, 'r-')

三次样条插值

% 分段三次埃尔米特插值x = -pi:pi; y = sin(x); new_x = -pi:0.1:pi;p = spline (x,y,new_x);plot(x, y, 'o', new_x, p, 'r-')

三次样条插值和分段三次埃尔米特插值的对比

% 三次样条插值和分段三次埃尔米特插值的对比x = -pi:pi; y = sin(x); new_x = -pi:0.1:pi;p1 = pchip(x,y,new_x); %分段三次埃尔米特插值p2 = spline(x,y,new_x); %三次样条插值plot(x,y,'o',new_x,p1,'r-',new_x,p2,'b-')legend('样本点','三次埃尔米特插值','三次样条插值','Location','SouthEast')

本文借鉴了数学建模清风老师的课件与思路,如果大家发现文章中有不正确的地方,欢迎大家在评论区留言,也可以点击查看下方链接查看清风老师的视频讲解~

原文链接:/video/BV1DW411s7wi

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。