- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 564650 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174618
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 3
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
|---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
数学建模插值法——三次埃尔米特插值&三次样本插值(笔记)
" W0 m+ X4 r$ f7 M' A! y% |2 ~' r6 f% D9 P* b
今天学习了插值法的matlab实现。
, L4 p Y- `5 A+ v2 E7 E我们接触过五种基本的插值方法,有拉格朗日插值、牛顿插值、分段线性插值、分段三次Hermite插值和样条插值(三次)。
" l" n* j* T$ X/ Z8 P% ]* \" d# w' _9 ^& _+ R% d
插值法在数学建模中的应用:数模比赛中,常常需要根据已知的函数点进行数据、模型的处理和分析,而有时候现有的数据是极少的,不足以支撑分析的进行,这时就需要使用一些数学的方法,“模拟产生”一些新的但又比较靠谱的值来满足需求,这就是插值的作用。- G5 | k7 ]: x" |* l' I7 M8 z: R
) F3 d, L2 f& I一般来讲,数学建模中主要用到的是 分段三次Hermite插值和三次样条插值
6 o" [$ ^8 f+ b" Q$ s4 Q8 }而matlab中都有对应的函数(感慨一下:matlab真强大!) T B7 p+ R& j9 V
这两种插值的matlab实现也是本文的重点。
" w" D6 ^5 J ?1 {5 t* i) G4 r9 t8 k1 I5 b6 N4 X
接下来先来用数学定义简单解释一下 分段三次Hermite插值和三次样条插值给有需要的人(便于理解). m' a7 ?( i. g3 D/ \* W
1)分段三次Hermite插值
2 G$ d9 Z) m0 W' _6 q0 M( k8 {① 埃尔米特插值多项式:插值多项式要求在插值节点上函数值相等,有的实际问题还要求在节点上的导数值相等,甚至高阶导数值也相等,满足这种要求的插值多项式成为埃尔米特插值多项式。& S& H t1 D/ I! e' u
(直接使用埃尔米特插值得到的多项式次数较高,也存在龙格现象,因此在实际应用中,往往使用分段三次埃尔米特插值多项式)
/ g& ~% \' O; ~ i4 y② 分段三次埃尔米特插值:
$ x \: n6 B5 _) G' m o4 G4 |
3 k& {6 E4 J3 A" s1 A b9 n6 a0 Y7 x6 |" S
2)三次样条插值函数
+ c- t' h1 }- w2 N0 c" X! x4 x
8 h! l) j3 |- W0 Q: o
其次,再用matlab分别实现两种插值法/ P/ d; D( p# \$ Y" i- d% Q
这里应用背景是:MathorCup第六届A题 淡水养殖池塘水华发生及池水净化处理2 C; ?- O5 w5 T
这道题中,附件2中COD、溶氧、PH值等数据均是隔两周采样一次,数据量不足以用于建立合理的模型,因此要考虑现有数据进行插值以补充数据。具体附件截图如下:1 H9 k4 w0 L' V' n4 _4 D' k
& O, g% a" Z3 m9 z( u
接下来用matlab进行数据补充实现(注:叶绿素A、B、C以及CA2+、MG+等数据不做插值 )
6 b* J% D& ]( X8 { E8 ?* d# s
; W* J9 c @6 J0 _* u这是我写的代码:8 r7 R( E' F0 X9 j; L
1、三次埃尔米特插值(spline函数):: q* @; \, r- F! F( {( V( g/ h
(1)代码部分:
- s8 @1 W" S3 D$ o
# r0 q2 M: D, w% Q! X
(2)运行结果:7 ` W. F U; Z }, Z" x% n
5 w3 h+ H/ T/ @$ d; R- k/ l) i
( f! z, r& ?! G# D f+ ?7 L5 T
2、三次样条插值
3 w* H; ?# O- j, ~( o) a0 Y" V(1)代码部分(pchip函数):
% L+ u* s# ^& [" e6 @& S* T( a _( \. U f9 W5 G
. J; Q! N w+ b1 F1 Y(2)运行结果:
- W, Y: ^# x" g& P( `
2 Z+ {% O# Q3 O2 N, v. C5 I b% i* B, k) w( A3 G
经过两次试验发现,大体上三段埃尔米特插值和三次样条插值插值效果相似,三次样条插值生成的曲线更加平滑。由于我们不知道数据的生成过程,因此这两种插值都可以使用。 H$ F! q2 M3 U7 W3 a9 g
( c" M* \+ y; q! w注:以上内容均参考清风老师的数学建模视频讲解7 I) v# P( O0 w) Z3 H
原文链接:https://blog.csdn.net/weixin_43793141/article/details/105176616
& ~7 M) Z& d5 ?7 H$ h1 I) I. Q0 t1 W2 R* n4 v7 L4 j
3 H7 ~- t9 ~3 Q- r |
zan
|