当前位置:文档之家› 计算方法曲线拟合

计算方法曲线拟合

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)
曲线拟合问题最常用的解法——线性最小二乘法的基本思路
第一步:先选定一组函数 r1(x), r2(x), …rm(x), m<n, 令 f(x)=a1r1(x)+a2r2(x)+ …+amrm(x) 其中 a1,a2, …am 为待定系数。 第二步: 确定a1,a2, …am 的准则(最小二乘准则): (1)
线性最小二乘法的求解 所以,曲线拟合的最小二乘法要解决的问题,实际上就是 求以下超定方程组的最小二乘解的问题。 Ra=y (3) r a1 y1 1 ( x1 ) rm ( x1 ) , a , y R 1 ( xn ) rm ( xn ) am yn r
比如对方程 y=a e b x 取对数,得l n y=l n a+b x, 令 Y=lny, A= l n a, B=b 则问题转化为解 Y=A+Bx的线 性问题。 类似的再如,对y=a+ b/ x拟和可对此方程取倒数,则 新变量1/y于x成线性关系。
主页
拟合与插值的关系
问题:给定一批数据点,需确定满足特定要求的曲线或曲面
f=a1+a2/x + + +
f=aebx +
+
-bx f=ae + +
+ +
+ + +
+
+ +
实例讲解
某种合成纤维的强度与其拉伸倍数有直接 关系,下表是实际测定的24个纤维样品的 强度与相应拉伸倍数的记录。
提示:将拉伸倍数作为x, 强度作为y,在座标 纸上标出各点,可以发现什么?
数据表格
编号 1 2 3 4 5 6 7 8 9 10 11 12 拉伸倍数 1.9 2.0 2.1 2.5 2.7 2.7 3.5 3.5 4.0 4.0 4.5 4.6 强度 kg/mm2 1.4 1.3 1.8 2.5 2.8 2.5 3.0 2.7 4.0 3.5 4.2 3.5 编号 13 14 15 16 17 18 19 20 21 22 23 24 拉伸倍数 5.0 5.2 6.0 6.3 6.5 7.1 8.0 8.0 8.9 9.0 9.5 10.0 强度 kg/mm2 5.5 5.0 5.5 6.4 6.0 5.3 6.5 7.0 8.5 8.0 8.1 8.1
9 8 7 6 5 4 3 2 1 0 0 2 4 6 8 10 12
从上图中可以看出强度与拉伸倍数大致成线形关系, 可用一条直线来表示两者之间的关系。 解:设 y*=a+bxi ,令δ =yi-y*i=yi-a-bxi,根据最 小二乘原理,即使误差的平方和达到最小,也就是令 Q=∑δ i
i=1 n 2
曲线拟合问题的提法
已知一组(二维)数据,即平面上 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) 的距离
解决方案: •若要求所求曲线(面)通过所给所有数据点,就是插值问题; •若不要求曲线(面)通过所有数据点,而是要求它反映对象 整体的变化趋势,这就是数据拟合,又称曲线拟合或曲面拟合。
函数插值与曲线拟合都是要根据一组数据构造一个函数作 为近似,由于近似的要求不同,二者的数学方法上是完全不同 的。
实例:下面数据是某次实验所得,希望得到X和 f之间的关系?
为最小 ,即求使
(a,b)=
24 i 1
2 i
( yi a b xi )
i 1
24
2
有最小值的a和b的值。
计算出它的正规方程得
24a 127.5b 113.1 127.5a 829.61b 731.60
解得: a=0.15 , b=0.859 直线方程为:y*=0.15+0.859x
其中
定理:当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 + + + + +
多项式的最小二乘拟合的MATLAB函数文件agui_fit.m如下:
Fu n ctionp agu i_fit(x , y, m )(x,y为 数 据 向 量 , m为 多 项 式 的 次 数 , p返 回 多 项 式 的升幂排列的系数 ) A z e ros(m 1,m 1); fori 0 : m forj 0 : m A(i 1, j 1) su m (x.^ (i j)); end b(i 1) su m (x.^ i .* y); end c A \ b' ; P c'; 在matlab命 令 窗 口 求 解 x [2,4,6,8] y [2,11,28,40] p agui _ fit ( x , y ,1)
使n个点(xi,yi) 与曲线 y=f(x) 的距离i 的平方和最小 。

J (a1 , a2 , am ) i2 [ f ( xi ) yi ]2
i 1 n i 1
n
n
[ ak rk ( xi ) yi ]2
i 1 k 1
m
(2)
问题归结为,求 a1,a2, …am 使 J(a1,a2, …am) 最小。
直线拟合
直线拟合
多项式拟合
一般最小二乘法的拟合
(k , j ) k ( x j ) j ( xi ), ( y, j ) yi j ( xi )
i 1 i 1
n
n
应用
线性模型引深及推广
由上述我 们已经知到上述线性模型实际上是最小二乘 法的推广,实际上也就是多项式逼近函数的问题。它 不仅可以解决一元问题还可用于多元问题。除此外还 可求解某些非线性问题。求解方法是将其通过一定的 代数变换转换为可用线性模型求解的问题。
相关主题