拟合 —数学建模与系统仿真 主讲:王晓峰 E-mail:xfwang8280126.com
拟 合 ——数学建模与系统仿真 主讲:王晓峰 E-mail:xfwang828@126.com
、拟合 1拟合问题引例 2拟合的基本原理
2.拟合的基本原理 1. 拟合问题引例 一、拟 合
拟合问题引例1 已知热敏电阻数据:温度tO20.532751.070957 电阻R(g2) 7658268739421032 求60C时的电阻R 1100 + 1000 设R=a+b 900 a,b为待定系数 800 700 20 40 60 80 100
拟 合 问 题 引 例 1 温度t(0C) 20.5 32.7 51.0 73.0 95.7 电阻R() 765 826 873 942 1032 已知热敏电阻数据: 求600C时的电阻R。 20 40 60 80 100 700 800 900 1000 1100 设 R=at+b a,b为待定系数
拟合问题引例2 已知一室模型a静脉注射下的血药浓度数据(t=0注射300mg t(h)0.250.11523468 c(ug/m)192118.15153614101289932745524301 求血药浓度随时间的变化视律c(t) 作半对数坐标系emgy下的图形 MATLAB(aal) 10 kt coe 10 C,k为待定系数 10 0 8
拟 合 问 题 引 例 2 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 已知一室模型a静脉注射下的血药浓度数据(t=0注射300mg) 求血药浓度随时间的变化规律c(t). 作半对数坐标系(semilogy)下的图形 c k为待定系数 c t c e kt , ( ) 0 − = 0 2 4 6 8 100 101 102 MATLAB(aa1)
曲线拟合问题的提法 已知一组(二维)数据,即平面上n个点(xpy)i=1,,n, 寻求一个函数(曲线)y=f(x),使f(x)在某种准则下与所有数 据点最为接近,即曲线拟合得最好。 4+ (x2y;) y=f(x) 8为点(x1y与曲线y=f(x)的距离
曲线拟合问题的提法 已知一组(二维)数据,即平面上 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) 的距离
拟合与插值的关系 问题:给定批数据点,需确定满足特定要求的曲线或曲面 解决方案 若要求所求曲线(面)通过所给所有数据点,就是插值问题 若不要求曲线(面)通过所有数据点,而是要求它反映对象 整体的变化趋势,这就是数据拟合,又称曲线拟合或曲面拟合。 函数插值与曲线拟合都是要根据一组数据构造一个函数作为 近似,由于近似的要求不同,二者的数学方法上是完全不同的。 实例:下面数据是某次实验所得,希望得到X和之间的关系? 912131517 f1.53.96.611.715.618819.620.6|21.1 MATLAB(cn)
函数插值与曲线拟合都是要根据一组数据构造一个函数作为 近似,由于近似的要求不同,二者的数学方法上是完全不同的。 实例:下面数据是某次实验所得,希望得到X和 f之间的关系? x 1 2 4 7 9 12 13 15 17 f 1.5 3.9 6.6 11.7 15.6 18.8 19.6 20.6 21.1 MATLAB(cn) 问题:给定一批数据点,需确定满足特定要求的曲线或曲面 解决方案: •若不要求曲线(面)通过所有数据点,而是要求它反映对象 整体的变化趋势,这就是数据拟合,又称曲线拟合或曲面拟合。 •若要求所求曲线(面)通过所给所有数据点,就是插值问题; 拟合与插值的关系
曲线拟合问题最常用的解法线性最小二乘法的基本思路 第一步:先选定一组函数r(x),r2(x),…,rm(x),m<n,令 f(x=ar,(x)+a2r2(x)+.tamIm(x) (1) 其中a1,a2,…am为待定系数 第二步:确定a1a2,…am的准则(最小二乘准则): 使n个点(xy)与曲线y=f(x)的距离8的平方和最小。 记J(a12a2,m ∑2=∑[f(x)-y ∑Da1k(x,)-y]2(2) 1k=1 问题归结为,求a1a2…,m使J(a1,a2,…,am)最小
曲线拟合问题最常用的解法——线性最小二乘法的基本思路 第一步:先选定一组函数 r1 (x), r2 (x), …rm(x), m<n, 令 f(x)=a1r1 (x)+a2r2 (x)+ …+amrm(x) (1) 其中 a1 ,a2 , …am 为待定系数。 第二步: 确定a1 ,a2 , …am 的准则(最小二乘准则): 使n个点(xi ,yi ) 与曲线 y=f(x) 的距离i 的平方和最小 。 记 [ ( ) ] (2) ( , , ) [ ( ) ] 2 1 1 2 1 1 2 1 2 k i i n i m k k i n i n i m i i a r x y J a a a f x y = − = = − = = = = 问题归结为,求 a1 ,a2 , …am 使 J(a1 ,a2 , …am) 最小
线性最小二乘拟合中函数{r1(x),…,rm(x)}的选取 1.通过机理分析建立数学模型来确定f(x) 2将数据(xy)i=1,…n作图,通过直观判断确定f(x) f=ata,x f=a+a2xta3x f=a+a2xta3X + 计 f=a,+a/x f=abx f= ae
线性最小二乘拟合 中函数{r1 (x), …rm(x)}的选取 1. 通过机理分析建立数学模型来确定 f(x); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + f=a1+a2x f=a1+a2x+a3x 2 f=a1+a2x+a3x 2 f=a1+a2 /x f=aebx f=ae-bx 2. 将数据 (xi ,yi ) i=1, …n 作图,通过直观判断确定 f(x):
n三、用 MATLAB解拟合问题 1.线性最小二乘拟合 2非线性最小二乘拟合
1.线性最小二乘拟合 2.非线性最小二乘拟合 二、用MATLAB解拟合问题
1.用 MATLAB作线性最小二乘拟合 1)作多项式f(x)=a1x叫…+amXx+am+拟合,可利用已有程序: a=polyfit(x y, m) 输出拟合多项式系数 输入同长度拟合多项 a=[a1灬a,am+1(数组)的数组X,Y 式次数 2)多项式在x处的值y可用以下命令计算: y=polya (a, x)
1) 作多项式f(x)=a1x m+ …+amx+am+1拟合,可利用已有程序: a=polyfit(x,y,m) 2)多项式在x处的值y可用以下命令计算: y=polyval(a,x) 输出拟合多项式系数 a=[a1, …am , am+1] (数组)) 输入同长度 的数组X,Y 拟合多项 式次数 1. 用MATLAB作线性最小二乘拟合