数学建模~插值与拟合
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
插值与拟合
—、概述
我们经常会遇到大量的数据需要处理,
而处理数据的关键就在于这些算法,例如 数据拟合、参数估计、插值等数据处理算 法。此类问题在
MATLAB 中有很多现成的 函数可以调用,熟悉MATLAB,这些方法 都能游刃有余的用好。
倒血观
110
预测点和实测点的图形
插值后的图形
■・】・ Q "a* ^>4•八 )・2・
十 J*l •
D ・SI 丢R 咳娥□ Q 0
・ 1
• L« i
. 1 ・• • ro>»« 昨 ■
:eERC©》□ k - B O
uts nltt — l!fe wi
•
i
:;—4.直
-----
•
: w
・
n .»?< pr
瓷量
h ii I i •
—UE!.
2
冷爲 ,p
bbb. it-
——
•t:
?..」
!
bRB
::
黑就55r"A
数据拟合在很多赛题中有应用,与图形 处理有关的问题很多与插值和拟合有关系, 例如
98年美国赛A 题,生物组织切片的三维插 值处
理,94年A 题逢山开路,山体海拔高度的 插值计算,2003年吵的沸沸扬扬的“非典” 问题也要用到数据拟合算法,观察数据的走 向进行处理,
2005年的雨量预报的评价的插 值计算。2001年的
公交车调度拟合问题, 2003年的饮酒驾车拟合问题。
*
22
12
喝两瓶酒的拟合曲线喝1・5瓶酒的拟合曲线
Az ・ 2 4> LAs
在实际中,常常要处理由实验或测量所得到的一些离散数据。插值与拟合方法就是要通过这些数据去确定某一类已知函数的参数或寻求某个近似函数,使所得到的近似函
数与已知数据有较高的拟合精度。
如果要求这个近似函数(曲线或曲面)经过所已知的所有数据点,则称此类问题为
插值问题。(不需要函数表达式)
如果不要求近似函数通过所有数据点,而是要求它能较好地反映数据变化规律的近似函数的方法称为数据拟合。(必须有函数表达式)
近似函数不一定(曲线或曲面)通过所有的数据点。
三、插值与拟合的区别和联系
1、联系
都是根据实际中一组已知数据来构造一个能够反映数据变化规律的近似函数的方法。
2、区别
插值问题不一定得到近似函数的表达形式,仅通过插值方法找到未知点对应的值。数据拟合要求得到一个具体的近似函数的表达式。
4.1引言
当数据量不够,需要补充,且认定已有数
实际问题当中碰到的函数/(x)是各种各
据可信时, 通常利用函数插值方法。
样的,有的表达式很复杂,有的甚至给不出数学的式子,只提供了一些离散数据,警如,某些点上的函数值和导数值。
4. 2插值方法
选用不同类型的插值函数,逼近的效果就不同,一般有:
(1)拉格朗日插值(lagrange插值)
(2)分段线性插值
(3)Hermite
(4)三次样条插值。
4.3 MATLAB实现插值
Matlab实现:实现分段线性插值不需要编制函数程序,它自身提供了内部的功
能函数
interpl(—维插值)interp2(二维)interp3(三维)intern(n 维)
能够超过x的范
测得的温度的数值依次为:5, 8, 9, 15, 25, 31, 30, 22, 25, 27, 24.试估计每隔 1/10小 时的温度值.
hours" : 12;
teirps=[5 8 9 15 25 29 31 30 22 25 27 24]; h=l:0.1:12;
erpl(hours,tenps,h. 'spline 1);
plot (hours 91 eirqps F 1 k+ 1
t r f b ! f hours, temps Jr:') $ 作图
xlabel(f Hour 1) .ylabel(1 Degrees Celsius 1)
例已知飞机下轮廓线上数据如下,求X 每改变0」时的丿值.
X 0 3 5 7 9 11 12 13 14 15 Y
1.2
1.7
2.0
2.1
2.0
1.8
1.2
1.0
1.6
例: 度, 29, 从1点12点的11小时内,每隔1小时测量一次温 机翼下 轮聊线
要求X 0,Y 0单调;x, 丫可取为矩阵,或x 取行向量,y 取为列向量,IY 的值分别不能超
• X 0=[0 3 5 7 9 II 12 13 14 15 J;
• yO=[O 1.2 1.7 2.0 2.1 2.0 1.8 1.2 1.0 1.6]; • x=0:().l:15;
• y 1 =intcrp ] (x0,y0,x 「ciibic‘); • y2=interp l(x0.y0,x);
• y3=interp 1 (xO w yO,xJspline r ); • subplot(3,1J)
• plot(x0.y0/k+;x.y 1 ■丫) • grid
• title(,cubic ,) • subplot(3v 1 »2)
• plot(xO,yO ;k+\x T y2;r) • grid
• title(r piecewise lineaf) • subplot(3J3)
• plot(x0,y0Jk+\x,y3/r ,) • grid
•
title(t spline ,)
返回
用MzXTLA B 作网格节点数据的插值