数学建模社区-数学中国
标题:
数学建模插值法——三次埃尔米特插值&三次样本插值(笔记)
[打印本页]
作者:
杨利霞
时间:
2020-4-3 15:23
标题:
数学建模插值法——三次埃尔米特插值&三次样本插值(笔记)
数学建模插值法——三次埃尔米特插值&三次样本插值(笔记)
6 g4 L* ~( Y. p/ R1 h
8 C+ k$ r; V& ~7 Z
今天学习了插值法的matlab实现。
# g8 l( w% h6 Y6 n6 d9 q, v
我们接触过五种基本的插值方法,有拉格朗日插值、牛顿插值、分段线性插值、分段三次Hermite插值和样条插值(三次)。
1 R6 o$ ^9 P2 H$ g: l
0 T& i: S1 y% @
插值法在数学建模中的应用:数模比赛中,常常需要根据已知的函数点进行数据、模型的处理和分析,而有时候现有的数据是极少的,不足以支撑分析的进行,这时就需要使用一些数学的方法,“模拟产生”一些新的但又比较靠谱的值来满足需求,这就是插值的作用。
6 R1 K% t2 T6 `+ e! U8 s! B
, _/ J2 U! `% g
一般来讲,数学建模中主要用到的是 分段三次Hermite插值和三次样条插值
+ w2 ]6 d, r$ m
而matlab中都有对应的函数(感慨一下:matlab真强大!)
4 |! O- }" S$ S, B
这两种插值的matlab实现也是本文的重点。
) X& m( E( U( f; V
& }4 [: l( k; `8 K$ H* _" S7 @
接下来先来用数学定义简单解释一下 分段三次Hermite插值和三次样条插值给有需要的人(便于理解)
5 y* D2 M. N8 [% M6 A
1)分段三次Hermite插值
( F! i/ U, y% U
① 埃尔米特插值多项式:插值多项式要求在插值节点上函数值相等,有的实际问题还要求在节点上的导数值相等,甚至高阶导数值也相等,满足这种要求的插值多项式成为埃尔米特插值多项式。
0 {8 V; m: H" D7 s# o" |/ v) q5 Q
(直接使用埃尔米特插值得到的多项式次数较高,也存在龙格现象,因此在实际应用中,往往使用分段三次埃尔米特插值多项式)
V' P# q/ }& ] j+ j! k0 M4 P
② 分段三次埃尔米特插值:
% B+ ^* O9 l( [& D1 p4 K: T' o
2020-4-3 15:17 上传
下载附件
(162.73 KB)
& E2 ?: k C9 U g& J6 x
$ f* F1 ^& h0 r& {* Q
2)三次样条插值函数
) S0 H: F f% ]- D) X% S$ J) ~
2020-4-3 15:18 上传
下载附件
(121.95 KB)
# ]* i7 I s8 A! b/ {, _$ ~
其次,再用matlab分别实现两种插值法
) F1 S1 M7 c% S$ N
这里应用背景是:MathorCup第六届A题 淡水养殖池塘水华发生及池水净化处理
/ M, Z# S. w6 h& b
这道题中,附件2中COD、溶氧、PH值等数据均是隔两周采样一次,数据量不足以用于建立合理的模型,因此要考虑现有数据进行插值以补充数据。具体附件截图如下:
& {; _7 V: Z' h7 S; o. A4 j
2020-4-3 15:19 上传
下载附件
(176.97 KB)
2 y8 r" l- Q G2 d
接下来用matlab进行数据补充实现(注:叶绿素A、B、C以及CA2+、MG+等数据不做插值 )
( ^- I* F4 A% v8 A" t# R' Q$ f
' L* N- \. x! A, d) j
这是我写的代码:
$ \3 i$ V) _" A0 P
1、三次埃尔米特插值(spline函数):
8 O$ H, L+ X: X% U! t W7 d6 X, E
(1)代码部分:
) I {6 l2 {9 J: Y8 [7 ~% W
2020-4-3 15:20 上传
下载附件
(153.05 KB)
$ o, I% C. V1 d, x0 G
(2)运行结果:
6 S! ]4 d* \+ M, M$ ?
2020-4-3 15:21 上传
下载附件
(187.3 KB)
( e* A+ D( I( y2 q& ?7 ~
/ F; b. U c- V1 M
2、三次样条插值
& t1 k; a2 s% H% S* }
(1)代码部分(pchip函数):
$ @2 [( V9 g5 W- x+ V, L& H- h9 E
: d: @' S5 b# M9 q2 o* @, f, N
2020-4-3 15:22 上传
下载附件
(122.05 KB)
% R9 ~) _) ?7 H
(2)运行结果:
L# E: S7 Y& }) R
2020-4-3 15:22 上传
下载附件
(219.5 KB)
% o* O7 o" Z5 x" G/ u% r6 Z% {1 g
5 c. G# V2 w) E+ |2 f% @
经过两次试验发现,大体上三段埃尔米特插值和三次样条插值插值效果相似,三次样条插值生成的曲线更加平滑。由于我们不知道数据的生成过程,因此这两种插值都可以使用。
$ l' w; q, q( V1 I2 g- H4 [
7 S, w& {+ `6 t% I! U
注:以上内容均参考清风老师的数学建模视频讲解
- D2 g( e, j: A1 A
原文链接:https://blog.csdn.net/weixin_43793141/article/details/105176616
- d! h4 U4 q% u
0 M; H& I4 L6 W
{, ]: X# ^1 L
作者:
chace
时间:
2020-4-6 10:31
谢谢分享 努力学习
q0 n9 f; B) b: V+ L( V2 d
作者:
张迪迪.迪丽热巴
时间:
2020-4-12 21:02
发表回复
$ Y7 Q( v( U' c
作者:
张迪迪.迪丽热巴
时间:
2020-4-12 21:02
发表回复
; O5 Q# H, \7 Y$ D
作者:
xiEnqing
时间:
2020-4-16 21:13
听说回帖加体力~
6 z X; F$ ~) T4 F7 h2 E. {
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5