数学建模之插值算法

插值算法

一,插值算法的作用

现状一:当现有的数据是极少的,不足以支撑分析的进行

解决方案一:“模拟产生”一些新的但又比较靠谱的值来满足需求,这也就是插值的作用

现状二:当已知当前数据,需要预测其他数据

解决方案二:通过已知数据,模拟出多项式方程,进而预测其他数据

二,插值法的定义

三,插值法的分类

四,插值法的原理

五,插值算法分类

拉格朗日插值算法:寻找一个通过所有点的多项式(建模不会用它,只是为了给大家介绍一些概念)

拉格朗日插值的缺点:

图片:

图片解释:高次插值会产生龙格现象,两端的函数值动荡极大,在不清楚曲线的运动趋势时,别使用高次插值

降低龙格现象的方法:分段插值

分段插值的思路:

分段插值法:

牛顿插值法的定义:(大家没必要看懂,我也没看懂,毕竟建模也不会用它!!)

缺点:与拉格朗日插值法相比,牛顿插值法的计算过程具有继承性。(牛顿插值法每次插值只和前项的值有关,这样每次只要在原来的函数上添加新的项,就能够产生新的函数)但是牛顿插值也存在龙格现象的问题

总结与点评前两种插值算法:

上面讲的两种插值仅仅要求插值多项式在插值节点处与被插函数有相等的函数值,而这种插值多项式却不能全面反映被插值函数的性态。然而在许多实际问题中,不仅要求插值函数与被插值函数在所有节点处有相同的函数值,它也需要在一个或全部节点上插值多项式与被插函数有相同的低阶甚至高阶的导数值。对于这些情况,拉格朗日插值和牛顿插值都不能满足。

建模常用两类插值算法

一,埃尔米特插值

优势:不但要求在节点上的函数值相等,而且还要求对应的导数值也相等,甚至要求

高阶导数也相等,满足这种要求的插值多项式就是埃尔米特插值多项式。

缺点:直接使用Hermite插值得到的多项式次数较高,也存在着龙格现象

解决方案:分段三次 Hermite 插值多项式 (PCHIP)能够较好的降低龙格现象的发生

使用软件:Matlab

例题:

x = ‐pi:pi; y = sin(x);

new_x = ‐pi:0.1:pi;

p = pchip(x,y,new_x); %参数解释:new_x需要插值的x值,pchip为调用PCHIP算法的函数

plot(x, y, 'o', new_x, p, 'r‐')

绘制图形:

图片解释:蓝色圆圈为已知点,红色曲线为三次埃尔米特插值的结果

注意!!!!!

plot函数用法:

plot(x1,y1,x2,y2) 

线方式: ‐ 实线 :点线 ‐. 虚点线 ‐ ‐ 波折线

点方式: . 圆点 +加号 * 星号 x x形 o 小圆

颜色: y黄; r红; g绿; b蓝; w白; k黑; m紫; c青

二,三次样条插值(这个是我认为最叼的!!!!!)

优势:相比于埃尔米特插值,三次样条插值考虑的因素更多,三次样条生成的曲线更加光滑

使用软件:Matlab

例题:

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’) %标注显示在东南方向

图片:

图片解释:相比于三次埃尔米特插值,三次样条插值曲线更光滑

n维数据的插值

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数学建模是将实际问题抽象为数学模型的过程,通过对模型进行研究和分析,我们可以得出问题的解决方案或结论。而MATLAB是一种强大的科学计算软件,它提供了丰富的数学建模工具和算法库,便于我们进行数学模型的求解。 MATLAB在数学建模中常用的算法包括优化算法插值算法和数值计算算法等。 优化算法数学建模中扮演着重要角色,它们可以帮助我们找到最优解或满足一定约束条件的解。MATLAB中包含了常见的优化算法,如线性规划、整数规划、非线性规划和最优控制等。通过设置目标函数和约束条件,我们可以使用MATLAB的优化函数进行求解。 插值算法数学建模中常用的数据处理方法,它们可以通过一组已知数据点,给出这些数据之间的未知数据点的估计值。MATLAB提供了许多插值算法函数,如线性插值、拉格朗日插值和样条插值等。我们可以使用MATLAB的插值函数来拟合和预测数据,从而得到更全面和准确的结论。 数值计算算法数学建模中解决微分方程和积分方程的常用方法。MATLAB中提供了广泛的数值计算函数和工具箱,如常微分方程求解器、偏微分方程求解器和积分方程求解器等。这些算法能够帮助我们通过数值的方式求解复杂的数学模型,从而得到模型的解析解。 在实际应用中,我们可以使用MATLAB的算法和工具进行数学建模的各个阶段,包括建立数学模型、求解模型、模型评估和验证等。MATLAB提供了友好的用户界面和丰富的函数库,使得数学建模的过程更加高效和便捷。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值