用MATLAB进行数据拟合

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

10
5
0
0
2
4
6
8
10
12
14
16
18
25
ò?? aêy ?Yμ? 20
15 spline
10 èy ′ ? ? à? ? ê? 2 ? ? μ
5
0
0
2
4
6
8
10
12
14
16
18
Page 7
曲线拟合问题最常用的解法——线性最小二乘法的基本思路
第一步:先选定一组函数 r 1(x), r2(x), …rm(x), m<n, 令
Page 12
用MATLAB 作线性最小二乘拟合
1. 作多项式f(x)=a1xm+ …+amx+am+1拟合,可利用已有程序: a=polyfit(x,y,m)
?
2 i
?
[ f ( xi ) ? yi ]2
i?1
i?1
nm
? ? ? [ ak rk ( xi ) ? yi ]2
(2)
i?1 k ?1
问题归结为,求 a1,a2, …am 使 J(a 1,a2, …am) 最小。
Page 8
线性最小二乘法的求解:预备知识
超定方程组:方程个数大于未知量个数的方程组
R TRa=RTy
的解:a=(RTR)-1RTy
Page 10
线性最小二乘拟合 f(x)=a1r 1(x)+ …+amr m(x)中 函数{r1(x), …rm(x)} 的选取 1. 通过机理分析建立数学模型来确定 f(x) ;
2. 将数据 (xi,yi) i=1, …n 作图,通过直观判断确定 f(x):
Page 6
最临近插值、线性插值、样条插值与曲线拟合结果:
81
61
41
21
01
8
6
4
2
0
0
5
01 ? μ Y? y êa ? ? ò
μ ? ?tse2ra?enê ? ? à ? ? ′ y è
51
02
52
25
ò ? ? a êy ? Yμ ? 20
15
è y ′ ? ? à ? ? êlin?es2t ? ? μ
f(x)=a1r 1(x)+a2r 2(x)+ …+amr m(x)
(1)
其中 a1,a2, …am 为待定系数。
第二步: 确定a1,a2, …am 的准则(最小二乘准则):
使n个点(xi,yi) 与曲线 y=f(x) 的距离?i 的平方和最小 。
n
n
? ? 记 J (a1, a2 ,? am ) ?
1100
1000
设 R=aຫໍສະໝຸດ Baidu+b
900
a,b 为待定系数
800
700
20
40
60
80
100
Page 3
拟合问题引例2
已知一室模型快速静脉注射下的血药浓度数据(t=0注射300mg) t (h) 0.25 0.5 1 1.5 2 3 4 6 8
c (? g/ml) 19.21 18.15 15.36 14.10 12.89 9.32 7.45 5.24 3.01
? y1 ?
y
?
? ?? ??
?? y n ??
超定方程一般是不存在解的矛盾方程组。
n
? 如果有向量a使得
(ri1a1 ? ri2 a2 ? ? ? rim am ? yi )2 达到最小,
i?1
则称a为上述超定方程的最小二乘解。
Page 9
线性最小二乘法的求解
所以,曲线拟合的最小二乘法要解决的问题,实际上就是 求以下超定方程组的最小二乘解的问题。
? r11a1 ? r12a2 ? ? ? r1mam ? y1
? ?
??
(n ? m)
??rn1a1 ? rn2a2 ? ? ? rnm am ? yn
即 Ra=y
? r11
r12
?
其中
R
?
?? ?
?
?
?? rn 1 rn 2 ?
r1 m ?
?
? ?
,
rnm ??
?a1 ?
a
?
? ?
?
? ?
,
?? a m ??
y
+
+
+
+
+ (?xi +i,yi)
+
+
y=f(x) +
x ?i 为点(xi,yi) 与曲线 y=f(x) 的距离
Page 5
拟合与插值的关系
问题:给定一批数据点,需确定满足特定要求的曲线或曲面 解决方案: ?若要求所求曲线(面)通过所给所有数据点,就是插值问题; ?若不要求曲线(面)通过所有数据点,而是要求它反映对象 整体的变化趋势,这就是数据拟合,又称曲线拟合或曲面拟合。
求血药浓度随时间的变化规律c(t).
作半对数坐标系(semilogy)下的图形
2
10
MATLAB(aa1)
c (t ) ? c0e ? kt
1
10
c, k为待定系数
0
10
0
2
4
6
8
Page 4
曲线拟合问题的提法
已知一组(二维)数据,即平面上 n个点(xi,yi) i=1,…n, 寻求一个函数(曲线)y=f(x), 使 f(x) 在某种准则下与所有 数据点最为接近,即曲线拟合得最好。
其中
Ra=y
? r1 ( x 1 ) ? rm ( x 1 ) ?
R
?
?? ?
?
? ?
,
?? r1 ( x n ) ? rm ( x n ) ??
?a1 ?
a
?
? ?
?
? ?
,
?? a m ??
(3)
? y1 ?
y
?
? ?? ??
?? y n ??
定理:当RTR可逆时,超定方程组(3)存在最小二乘解, 且即为方程组
数据的观察、分析和选择恰当的数学 表达方式得到的。
Page 1
拟合
1. 拟合问题引例 2.拟合的基本原理
Page 2
拟合问题引例1
已知热敏电阻数据: 温度t(0C) 20.5 32.7 51.0 73.0 95.7 电阻R(? ) 765 826 873 942 1032
求60 0C 时的电阻R 。
f=a 1+a 2 x +
++
++
f=a 1+a 2x+a 3x2 +
+
+ +
+
f=a 1+a 2x+a3x2
++ +
+ +
f=a 1+a 2 /x +
+++ +
f=ae bx
+
+
++ +
Page 11
+ f=ae-bx + + ++
用MATLAB 解拟合问题
1、线性最小二乘拟合 2、非线性最小二乘拟合
函数插值与曲线拟合都是要根据一组数据构造一个函数作 为近似,由于近似的要求不同,二者的数学方法上是完全不同 的。
实例:下面数据是某次实验所得,希望得到X和 f之间的关系?
x1
2
4
7
f 1.5 3.9 6.6 11.7
9
12
13
15
17
15.6 18.8 19.6 20.6 21.1
MATLAB(cn)
拟合
对于情况较复杂的实际问题(因素不易化简,作用 机理不详)可直接使用数据组建模,寻找简单的因果变 量之间的数量关系, 从而对未知的情形作预报。这样组 建的模型为拟合模型。 拟合模型的组建主要是处理好观 测数据的误差,使用数学表达式从数量上近似因果变量 之间的关系。拟合模型的组建是通过对有关变量的观测
相关文档
最新文档