数学建模社区-数学中国

标题: 数学建模插值法——三次埃尔米特插值&三次样本插值(笔记) [打印本页]

作者: 杨利霞    时间: 2020-4-3 15:23
标题: 数学建模插值法——三次埃尔米特插值&三次样本插值(笔记)
数学建模插值法——三次埃尔米特插值&三次样本插值(笔记)
8 N; C# ], J% W. I  I2 h6 y( o  m0 P  l* g3 h9 c' ^% p
今天学习了插值法的matlab实现。
$ s. C& S$ e9 M7 q; g: F, s我们接触过五种基本的插值方法,有拉格朗日插值、牛顿插值、分段线性插值、分段三次Hermite插值和样条插值(三次)。
( x, r( q7 A0 W# q; g
6 w9 C: }  {4 A9 i; Y* I+ ~) Q  A' ]插值法在数学建模中的应用:数模比赛中,常常需要根据已知的函数点进行数据、模型的处理和分析,而有时候现有的数据是极少的,不足以支撑分析的进行,这时就需要使用一些数学的方法,“模拟产生”一些新的但又比较靠谱的值来满足需求,这就是插值的作用。
( x5 a$ i/ L! K0 @1 B; w) r
8 x( l. r* l- ~( V一般来讲,数学建模中主要用到的是 分段三次Hermite插值和三次样条插值6 s% m6 t' ^! M  Z' \, _6 h. Z0 n9 j
而matlab中都有对应的函数(感慨一下:matlab真强大!)
" G3 r( d; G, T9 @这两种插值的matlab实现也是本文的重点。/ l( R+ C2 s: }% k, r; ^5 a
- q* }0 F3 L2 g
接下来先来用数学定义简单解释一下 分段三次Hermite插值和三次样条插值给有需要的人(便于理解)
3 L* F! j! l* J3 M) Y8 R1)分段三次Hermite插值
1 ?( s0 j* M  R① 埃尔米特插值多项式:插值多项式要求在插值节点上函数值相等,有的实际问题还要求在节点上的导数值相等,甚至高阶导数值也相等,满足这种要求的插值多项式成为埃尔米特插值多项式。
0 [! y) b6 Y6 s7 w(直接使用埃尔米特插值得到的多项式次数较高,也存在龙格现象,因此在实际应用中,往往使用分段三次埃尔米特插值多项式)! p; \6 @* |* f
② 分段三次埃尔米特插值:
' A7 E& ?/ w$ L+ e 3.png
* H# \# l( c6 ]0 Z2 u; _# d
/ y4 x5 Y% w8 M* X7 b/ Z2)三次样条插值函数& a" y+ P( o9 |; D, u
4.png 3 t6 Y; |' c' x/ y
其次,再用matlab分别实现两种插值法
- i$ t# O+ X9 \这里应用背景是:MathorCup第六届A题 淡水养殖池塘水华发生及池水净化处理
1 P4 p' D3 z7 X$ ?$ s这道题中,附件2中COD、溶氧、PH值等数据均是隔两周采样一次,数据量不足以用于建立合理的模型,因此要考虑现有数据进行插值以补充数据。具体附件截图如下:0 W* r' h. U, [; d% r9 L) B% h% I7 G
5.png # a4 ]/ \4 G4 @4 p: L4 w! ^
接下来用matlab进行数据补充实现(注:叶绿素A、B、C以及CA2+、MG+等数据不做插值 )+ p( G6 K" H3 j, z8 u

$ E6 f5 f8 Y6 y# A9 ?这是我写的代码:' Z5 q( n# t' F
1、三次埃尔米特插值(spline函数):
5 S9 g# G6 n3 K* F+ E8 X$ E* @(1)代码部分:7 p3 g- P9 T1 C; l' }1 _
6.png 8 {7 V* ]& J1 [+ [! `* S) S
(2)运行结果:
& P4 O) |7 Y1 u0 E$ I- b4 v 7.png
! y7 H/ m' s* b7 N8 C0 ]$ I5 B2 X* \
! H# D8 T$ X+ m- N2、三次样条插值
' ]: _! n; l+ E) i: [(1)代码部分(pchip函数):
' @/ Q7 ^) C" |/ r( {
4 {' [0 O1 j- N8 [( s 8.png 7 |. t5 l+ y) P  U9 n1 q
(2)运行结果:
) Q0 z& S" J! c# v 9.png
1 f# L0 H7 t8 y1 j3 }; Q' Q
& g* y: x/ {8 ~: S3 b# y经过两次试验发现,大体上三段埃尔米特插值和三次样条插值插值效果相似,三次样条插值生成的曲线更加平滑。由于我们不知道数据的生成过程,因此这两种插值都可以使用。
# n0 w# v( L. J) U: B! O) B1 f; O! @; d5 G$ d
注:以上内容均参考清风老师的数学建模视频讲解
: z5 `+ z7 k; r0 G4 c原文链接:https://blog.csdn.net/weixin_43793141/article/details/105176616
6 n( j9 L1 `* C& T8 Q  U) K
: ~' E  M7 j9 j9 b- e4 U' x- t5 z" ^! d# q

作者: chace    时间: 2020-4-6 10:31
谢谢分享 努力学习
, m  [& X! D7 C$ s& B6 X1 n
作者: 张迪迪.迪丽热巴    时间: 2020-4-12 21:02
发表回复. o2 g( I' c% h9 ~+ ]& H0 b. x

作者: 张迪迪.迪丽热巴    时间: 2020-4-12 21:02
发表回复
7 Z: [5 o% r' X/ X: d
作者: xiEnqing    时间: 2020-4-16 21:13
听说回帖加体力~# b8 u2 A& b; ?+ }; ]





欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5