当前位置:文档之家› 数学建模方法 拟合

数学建模方法 拟合

输出拟合多项式系数 a=[a1, …,am , am+1] (数组)) 2. 对超定方程组 输入同长度 的数组x,y
拟合多项
式次数Βιβλιοθήκη Rnmam1 yn1 (m n) ,用 a R \ y
可得最小二乘意义下的解. 3.多项式在x处的值y可用以下命令计算:
y=polyval(a,x)
例 对下面一组数据作二次多项式拟合
拟合与插值的关系 问题:给定一批数据点,需确定满足特定要求的曲线或曲面 解决方案: •若要求所求曲线(面)通过所给所有数据点,就是插值问题; •若不要求曲线(面)通过所有数据点,而是要求它反映对象 整体的变化趋势,这就是数据拟合,又称曲线拟合或曲面拟 合. 函数插值与曲线拟合都是要根据一组数据构造一个函数作 为近似,由于近似的要求不同,二者在数学方法上是完全不同 的. 实例:下面数据是某次实验所得,希望得到X和 f之间的关系?
第一步:先选定一组函数 r1(x), r2(x), …,rm(x), m<n, 令 f(x)=a1r1(x)+a2r2(x)+ …+amrm(x) 其中 a1,a2, …,am 为待定系数. 第二步: 确定a1,a2, …,am 的准则(最小二乘准则): (1)
使n个点(xi,yi) 与曲线 y=f(x) 的距离i 的平方和最小 . 记 J (a1 , a2 , am )
2 2 [ f ( x ) y ] i i i i 1 n i 1 m n n
[ ak rk ( xi ) yi ]2
i 1 k 1
(2)
问题归结为,求 a1,a2, …,am 使 J (a1,a2, …,am) 最小.
线性最小二乘法的求解:预备知识
超定方程组:方程个数大于未知量个数的方程组
r11a1 r12 a2 r a r a n1 1 n 2 2
r 11 其中 R rn1
r1m am y1 (n m) rnm am yn
r 12 rn 2
n
即 Ra=y
r a1 y1 1m , y , a rnm am yn
0
曲线拟合问题的提法
已知一组(二维)数据,即平面上 n个点(xi,yi) i=1,…,n, 寻求一个函数(曲线)y=f(x), 使 f(x) 在某种准则下与所有 数据点最为接近,即曲线拟合得最好. y + +
+
+
+ i (x+ i,yi)
+ +
+
y=f(x)
x
i 为点(xi,yi) 与曲线 y=f(x) 的距离
linest Èý´Î¶àÏîÊ ½²åÖµ
10
15 nearest Èý´Î¶àÏîÊ ½²åÖµ
5
20
0
25
0
2
4
6
8
10
12
14
16
18
25
ÒÑÖªÊý¾Ýµã 20
15 spline
10 Èý´Î¶àÏîʽ²åÖµ 5
0
0
2
4
6
8
10
12
14
16
18
曲线拟合问题最常用的解法——线性最小二乘法的基本思路
xi yi 0.1 0.2 0.3 3.28 0.4 6.16 0.5 7.08 0.6 7.34 0.7 7.66 0.8 9.56 0.9 9.48 1.0 1.1 -0.447 1.978 9.30 11.2
定理:当RTR可逆时,超定方程组(3)存在最小二乘 解,且即为方程组 RTRa=RTy 的解:a=(RTR)-1RTy
线性最小二乘拟合 f(x)=a1r1(x)+ …+amrm(x)中 函数{r1(x),…,rm(x)}的选取 1. 通过机理分析建立数学模型来确定 f(x); 2. 将数据 (xi,yi) i=1, …,n 作图,通过直观判断确定 f(x): f=a1+a2x + + + + + f=a1+a2x+a3x2 + + + + + + f=a1+a2x+a3x2
c (g/ml) 19.21 18.15 15.36 14.10 12.89 9.32 7.45 5.24 3.01
求血药浓度随时间的变化规律c(t). 作半对数坐标系(semilogy)下的图形
10
2
MATLAB(aa1)
10
1
c(t ) c0e
kt
c, k为待定系数
0 2 4 6 8
10
超定方程组一般不存在解的矛盾方程组.
2 ( r a r a r a y ) 如果有向量a使得 i1 1 i 2 2 达到最小, im m i i 1
则称a为上述超定方程组的最小二乘解.
线性最小二乘法的求解
所以,曲线拟合的最小二乘法要解决的问题,实际上就是 求以下超定方程组的最小二乘解的问题. Ra=y r 1 ( x1 ) 其中 R 1 ( xn ) r (3) rm ( x1 ) a1 y1 , y , a rm ( xn ) am yn
x f 1 1.5 2 3.9 4 6.6 7 11.7 9 15.6 12 13 18.8 19.6 15 20.6 17 21.1
MATLAB(cn)
最临近插值、线性插值、样条插值与曲线拟合结果:
25
0 0 2 4 6 8 10 12 14 16 18
ÒÑÖªÊý¾Ýµã 20
5
15
10 ÒÑÖªÊý¾Ýµã
拟 合 问 题 引 例 1
º 已知热敏电阻数据: 温度t( C) 20.5 32.7 51.0 73.0 95.7
电阻R() 765 求60º C时的电阻R.
1100 1000 900 800 700 20
826
873
942 1032
设 R=at+b a,b为待定系数
40
60
80
100
拟 合 问 题 引 例 2 已知一室模型快速静脉注射下的血药浓度数据(t=0注射300mg) t (h) 0.25 0.5 1 1.5 2 3 4 6 8
+ +
+
+
f=a1+a2/x +
f=aebx + + + +
+
+ + + +
-bx f = a e + +
+
+ +
用MATLAB解拟合问题
1.线性最小二乘拟合
2.非线性最小二乘拟合
用MATLAB作线性最小二乘拟合
1. 作多项式f(x)=a1xm+ …+amx+am+1拟合,可利用已有程序:
a=polyfit(x,y,m)
相关主题