文档介绍:Experiments in Mathematics
数据拟合
Z
‡
'
函数拟合
1. 拟合的基本原理;
3. 用Matlab作最小二乘拟合;
。
2. 最小二乘拟合;
设 R=at+b
a,b为待定系数
求电阻R随温度t的变化规律。
已知热敏电阻数据:
温度t(0C)
电阻R() 765 826 873 942 1032
引例1:热敏电阻电阻值的变化规律
t (h) 1 2 3 4 6 8
c (g/ml)
对某人用快速静脉注射方式一次性注射某种药物300mg后,经过时间t采集血样,测得血药浓度c如下表:
求血药浓度随时间的变化规律c(t).
半对数坐标系(semilogy)下的图形
Log10c(t)=a t + b
引例2:血药浓度的变化规律
曲线拟合问题的提法
已知一组(二维)数据,即平面上 n个点(xi,yi) i=1,…n, 寻求一个函数(曲线)y=f(x), 使 f(x) 在某种准则下与所有数据点最为接近,即曲线拟合得最好。
+
+
+
+
+
+
+
+
+
x
y
y=f(x)
(xi,yi)
i
i 为点(xi,yi) 与曲线 y=f(x) 的距离
最小二乘拟合
第一步:先选定一类函数f(x,a1,a2, …,am)
其准则为(最小二乘准则):使n个点(xi,yi) 与曲线 y=f(x ,a1,a2, …,am) 的距离i 的平方和最小。
其中 a1,a2, …am 为待定常数。
f可以为一些简单的“基函数”
(如幂函数,三角函数等等)的线性组合:
第二步:确定参数a1,a2, …am,
问题归结为,求 a1,a2, …am 使 J(a1,a2, …am) 最小。
这样的拟合称为最小二乘拟合。
除了最小二乘准则(即各点误差的平方和最小),你认为还可以用怎样的拟合准则?
比较起来,最小二乘准则有什么优点?
思考
记
最小二乘拟合函数 f(x,a1, …am)的选取
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
f=a1+a2x
f=a1+a2x+a3x2
f=a1+a2x+a3x2
f=a1exp(a2x)
+
+
+
+
+
f=a1exp(a2x)
1. 通过机理分析建立数学模型来确定 f;
2. 将数据(xi,yi) i=1, …,n 作图,通过直观判断确定 f:
2. 作一般的最小二乘曲线拟合,可利用已有程序lsqcurvefit,其调用格式为:
a=lsqcurvefit(‘f’, a0, x, y)
1. 作多项式f(x)=a1xm+ …+amx+am+1函数拟合,可利用已有程序polyfit,其调用格式为:
a=polyfit(x,y,m)
用MATLAB作最小二乘拟合
数据点
拟合多项式次数
系数
注:f为拟合函数y=f(a,x)的函数M—文件,f(a,x)为拟合函数。
数据点
待定常数
a的初值
函数M文件
用MATLAB作多项式最小二乘拟合
example1
polyfit(x,y,m)
得到 a1=,
a2=
1. 选取函数 R= a1t+a2
温度t(0C)
电阻R() 765 826 873 942 1032
例. 由数据
拟合R=f(t)