数学建模之插值与拟合
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
matlab中拟合的函数
非线性曲线拟合 Matlab中对于多项式拟合,有现成的函数
c = lsqcurvefit ( ′fun′, x0, xdata, ydata)
matlab中拟合的函数
非线性曲线拟合例题
对下面的x、y进行数据拟合
x=[3.6,7.7,9.3,4.1,8.6,2.8,1.3,7.9,10,5.4]; y=[16.5,150.6,263.1,24.7,208.5,9.9,2.7,163.9,325,54.3];
最小二乘法
线性最小二乘法是解决曲线拟合最常用的方法,基本 思路是,令
f (x) a1r1(x) a2r2 (x) amrm (x) • 其中,rk(x)是事先选定的一组线性无关的函数,ak是待定系
数(k=1,2,...,m,m<n)。拟a合准则是使yi,i=1,2,3...,n,与f (xi )
• 求:利用最小二乘法求得上述拟合函数
求解方法
(1)做散点图,通过散点图判断函数为:y=ax+b
(2)根据最小二乘法原理可知,即使下式中M最小
10
M yi axi b2
i 1
(3)把M看作是自变量为a和b的函数,由多元函数取最值
的条件可知:
M M
a b
a, a,
b b
0 0
M
a
M
b
目录
1
插值法与拟合法
2 matlab中插值的函数
3 matlab中拟合的函数 4 插值与拟合的运用
插值法与拟合法的基本介绍
插值法:求过已知有限个数据点的近似函数。
拟合法:已知有限个数据点,求近似函数,不要求
过已知数据点,只要求在某种意义下它在这些点上 的总偏差最小。
总结:插值和拟合都是要根据一组数据构造一个函
多项式在x处的值y可用下面的函数计算
y=polyval(a,x)
matlab中拟合的函数
多项式拟合例题
对下面的A、B进行三次数据拟合 对701至3700的数进行预测
A=[925,1125,1625,2125,2625,3125,3625];
B=[0.11,0.16,0.35,0.48,0.61,0.71,0.85];
·
谢谢聆听
y=interp1(x0,y0,x,'spline'); y=spline(x0,y0,x); pp=csape(x0,y0,conds), pp=csape(x0,y0,conds,valconds),y=ppval(pp,x)。
matlab中插值的函数
插值函数例题
•
例1 机床加工
•
待加工零件的外形根据工艺要求由一组数据给出(在
常见的rk(x)函数
(i)直线
y a1x a2
(ii)多项式 y a1xm am x am1
(iii)双曲线(一支)
y
a1 x
a2
(iv)指数曲线 y a1ea2x
matlab中拟合的函数
多项式拟合 Matlab中对于多项式拟合,有现成的函数
a=polyfit(x0,y0,m)
其中输入参数x0,y0为要拟合的数据,m为拟合多项式的 次数,输出参数a为拟合多项式y=amxm+…+a1x+a0系数 a=[ am, …, a1, a0]。 NhomakorabeaR
rm (x1)
rm (xn )nm
RT RA RTY
A [a1,, am]T , Y ( y1,yn )T
当r1(x),, rm (x) 线性无关时,R列满秩,RTR可逆,于是可以得
到方程组的唯一解
A (RT R)1 RTY
函数的rk(x)选取
面对一组数据 (xi , yi ), i 1,2,, n,用线性最小二乘法作 曲线拟合时,关键的一步是恰当地选取 r1(x),, rm (x) 。如 果通过机理分析,能够知道y与x之间应该有什么样的函数 关系,则 r1(x),, rm (x) 容易确定。若无法知道y与x之间的 关系,通常可以将数据 (xi , yi ), i 1,2,, n 作图,直观地判断 应该用什么样的曲线去作拟合。
J ak
0
(k 1,, m)
n
n
rj (xi )[ ak rk (xi ) yi ] 0
i 1
k 1
( j 1,m)
n
n
n
ak [ rj (xi )rk (xi )] rj (xi ) yi
k 1
k 1
i 1
( j 1,, m)
待定系数ak的确定
r1(x1) r1(xn )
• 插值法是一类方法的总称
常见的插值法
• 拉格朗日多项式插值 • 牛顿插值 • 分段线性插值 • Hermite插值 • 三次样条插值
需自己定义子函数的插值方法
• 拉格朗日多项式插值 Matlab中没有现成的Lagrange插值函数,必须编写一
个M文件实现Lagrange插值 • 牛顿插值(实际中比较少运用) • Hermite插值
• 要求用Lagrange、分段线性和三次样条三种插值方法计算
拟合法(Curve fitting)
• 曲线拟合,就是通过实验获得有限对测试数据(xi, yi), 利用这些数据来求取近似函数y= f ( x )。式中x为输出量, y为被测物理量。与插值不同的是,曲线拟合并不要求y= f ( x )的曲线通过所有离散点(xi, yi),只要求y= f ( x )反 映这些离散点的一般趋势,不出现局部波动。
数(k=1,2,...,m,m<n)。拟a合准则是使yi,i=1,2,3...,n,与f (xi )
的距离的平方和 i 最小,称为最小二乘准则。
插值法与拟合法
待定系数ak的确定
n
n
J (a1,, am )
2 i
[ f (xi ) yi ]2
i 1
i 1
为求a1,...am使J达到最小,只需利用极值的必要条件 得到关于a1,...am的线性方程组
平面情况下),用程控铣床加工时每一刀只能沿方向和方
向走非常小的一步,这就需要从已知数据得到加工所要求
的步长很小的坐标。
•
表中给出的数据位于机翼断面的下轮廓线上,假设需
要得到坐标每改变0.1时的坐标。试完成加工所需数据,
画出曲线。
插值函数例题
x
0
3
5
7
9
11 12 13 14 15
y
0
1.2 1.7 2.0 2.1 2.o 1.8 1.2 1.0 1.6
10
10
xi2 3.85, xi yi 23.1287
i 1
i 1
3.85a 5.5b 23.1287 5.5a 10b 37.3569
a 3.13 b 2.01
最小二乘法的通用形式
扩展到n维拟合时,线性最小二乘法是解决曲线拟合 最常用的方法,基本思路是,令
f (x) a1r1(x) a2r2 (x) amrm (x) • 其中,rk(x)是事先选定的一组线性无关的函数,ak是待定系
Matlab中没有现成的Hermite插值函数,必须编写一个 M文件实现插值。 • 三次样条插值
matlab中插值的函数
分段线性插值
• 分段线性插值 用Matlab实现分段线性插值不需要编制函数程序,
Matlab中有现成的一维插值函数interp1。 y=interp1(x0,y0,x,'method')
10
2 yi
i 1
10
2 yi
i 1
(axi (axi
b)xi 0 b) 0
插值法与拟合法
求解方法
•
整理可得:
a
10 i 1
xi2
10
b
i 1
xi
10 i 1
yi xi
10
10
a i1 xi 10b i1 yi
10
10
xi 5.5, yi 37.3569
i 1
i 1
的距离的平方和 i 最小,称为最小二乘准则。
插值法与拟合法
最小二乘法的数学基础
x 0.1
0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
y 2.3201 2.6470 2.9070 3.2885 3.6008 3.9090 4.2147 4.5191 4.8232 5.1275
method指定插值的方法,默认为线性插值。其值可为: 'nearest' 最近项插值 'linear' 线性插值 'spline' 立方样条插值 'cubic' 立方插值。 所有的插值方法要求x0是单调的
matlab中插值的函数
三次样条插值
• 三次样条插值 Matlab中三次样条插值也有现成的函数:
数作为近似,由于近似的要求不同,二者的数学方 法上是完全不同的。而面对一个实际问题,究竟应 该用插值还是拟合有时容易确定,有时则并不明显。
插值法(interpolation)
• 插值法又称“内插法”,是利用函数f (x)在某区间中若干 点的函数值,作出适当的特定函数,在这些点上取已知值 ,在区间的其他点上用这特定函数的值作为函数f (x)的近 似值,这种方法称为插值法。