在线时间 1630 小时 最后登录 2024-1-29 注册时间 2017-5-16 听众数 82 收听数 1 能力 120 分 体力 564647 点 威望 12 点 阅读权限 255 积分 174617 相册 1 日志 0 记录 0 帖子 5313 主题 5273 精华 3 分享 0 好友 163
TA的每日心情 开心 2021-8-11 17:59
签到天数: 17 天
[LV.4]偶尔看看III
网络挑战赛参赛者
网络挑战赛参赛者
自我介绍 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
群组 : 2018美赛大象算法课程
群组 : 2018美赛护航培训课程
群组 : 2019年 数学中国站长建
群组 : 2019年数据分析师课程
群组 : 2018年大象老师国赛优
数学建模插值法——三次埃尔米特插值&三次样本插值(笔记)
5 X: @' @8 Z5 d5 X+ s/ a7 X
7 i5 |& S' E0 N: @: t: f) F 今天学习了插值法的matlab实现。 E+ \: t4 S% z: ^; }: N8 I
我们接触过五种基本的插值方法,有拉格朗日插值、牛顿插值、分段线性插值、分段三次Hermite插值和样条插值(三次)。* Y/ G9 v( d$ p) r8 C+ @0 w* L
2 G7 N( h# Z Q4 a, o 插值法在数学建模中的应用:数模比赛中,常常需要根据已知的函数点进行数据、模型的处理和分析,而有时候现有的数据是极少的,不足以支撑分析的进行,这时就需要使用一些数学的方法,“模拟产生”一些新的但又比较靠谱的值来满足需求,这就是插值的作用。2 B* b1 l: r( s! |# Z
7 C# u; O2 l2 f! i 一般来讲,数学建模中主要用到的是 分段三次Hermite插值和三次样条插值+ T* W7 r; R8 x! ~7 X/ m6 T' l
而matlab中都有对应的函数(感慨一下:matlab真强大!)* u" v6 ?2 ~$ q) y. l
这两种插值的matlab实现也是本文的重点。2 L, q! ?- h3 Q Q( ?
$ X) E0 k5 ]: H! L$ R1 d! u( G 接下来先来用数学定义简单解释一下 分段三次Hermite插值和三次样条插值给有需要的人(便于理解)8 O. Y, c; p7 M, }' `$ @
1)分段三次Hermite插值
7 f/ `) M7 I3 x3 z3 F6 ~ ① 埃尔米特插值多项式:插值多项式要求在插值节点上函数值相等,有的实际问题还要求在节点上的导数值相等,甚至高阶导数值也相等,满足这种要求的插值多项式成为埃尔米特插值多项式。
% ^ J9 s5 y( F9 P1 ^ (直接使用埃尔米特插值得到的多项式次数较高,也存在龙格现象,因此在实际应用中,往往使用分段三次埃尔米特插值多项式)9 ^$ n5 J4 n4 b1 _& [
② 分段三次埃尔米特插值:
5 t3 [6 ~9 r' d" y) _9 m! P
+ F6 X+ y( I0 G) _1 }. h4 ^
& g' E' H2 `9 V% \' X' w9 { V6 V 2)三次样条插值函数8 }. b. R1 h! Z4 b; Y2 W) S2 w
Y* Y9 A0 ]- Q1 w( Z. v+ q/ j
其次,再用matlab分别实现两种插值法( c; B+ L# `8 `4 y" w* U0 u
这里应用背景是:MathorCup第六届A题 淡水养殖池塘水华发生及池水净化处理
9 f8 f. [5 Z2 V+ G8 l$ J7 d1 A 这道题中,附件2中COD、溶氧、PH值等数据均是隔两周采样一次,数据量不足以用于建立合理的模型,因此要考虑现有数据进行插值以补充数据。具体附件截图如下:/ Y# G5 E8 L, R; y! `8 r% T- u$ u
$ X( x' p! b' s5 ~: E; {- |+ W7 V: W
接下来用matlab进行数据补充实现(注:叶绿素A、B、C以及CA2+、MG+等数据不做插值 )- U) R$ j) w9 [& w/ ]* s* t O
! R* P% _1 I0 W, U3 N3 o2 g
这是我写的代码:
% o4 O2 B' p- r" M 1、三次埃尔米特插值(spline函数):
0 U2 I7 R% s! ]7 m- y (1)代码部分:
. X7 |8 ]! N3 j; P2 g
8 p% j8 }- `& `6 D
(2)运行结果:2 v; K/ S1 m; u; H
, ^7 L& \1 M# ^+ O
B1 A' w3 S7 `% u0 A# q! J2 b# v" w 2、三次样条插值
% M$ z) e$ m' l( K% a' E (1)代码部分(pchip函数):* _0 F* v; |5 M7 I1 {+ ~' ?5 \) d
. V1 r! R2 ^# E. c
4 }3 H- H+ k+ X
(2)运行结果:
# H1 n* q0 s4 K0 [
4 r, o' M/ ?! B3 X9 z
3 Q& J, X& ~$ ?' }+ K0 ? 经过两次试验发现,大体上三段埃尔米特插值和三次样条插值插值效果相似,三次样条插值生成的曲线更加平滑。由于我们不知道数据的生成过程,因此这两种插值都可以使用。
0 F( f h5 t& I" }; v9 A# d' G$ W4 p8 ]
3 ?/ f3 C. M- d1 U5 T7 _ 注:以上内容均参考清风老师的数学建模视频讲解% v+ J2 ~6 H' S. Q$ G0 ]2 K
原文链接:https://blog.csdn.net/weixin_43793141/article/details/105176616
! c; F, f1 _6 ~- ~ % U; N7 V+ _, B' K6 t' {# I, |
, b- s& d; c+ Q( A
zan