解法1.解超定方程的方法 此时R= RA=y 1)输入命令: X1 x=0:0.1:1 y=-0.447,1978,3.28,6.16,7.08,7.34,766,9.56,948,930,11.2; R=(x.^2),x,ones(111)]; MATLAB(zecl A=R\Y 2)计算结果:A=[9.8108,20.1293,-0.0317] f(x)=-9.8108x2+20.1293x-0.0317
1)输入命令: x=0:0.1:1; y=[-0.447,1.978,3.28,6.16,7.08,7.34,7.66,9.56,9.48,9.30,11.2]; R=[(x.^2)', x', ones(11,1)]; A=R\y' = 1 1 1 1 2 1 1 1 2 1 x x x x 此时 R MATLAB(zxec1) 解法1.解超定方程的方法 2)计算结果: A = [-9.8108, 20.1293, -0.0317] ( ) 9.8108 20.1293 0.0317 2 f x = − x + x − RA y =
解法2.用多项式拟合的命令 1)输入命令: X=0:0.1:1 0.2 -0.447,1978,3.28,6.16,7.08,7.34,766,9.56,948,930,11.2; A=polyfit(x, y, 2) Epolyval(A, x); MATLAB(zXec2' plot(xy,k+,x,z;r)%作出数据点和拟合曲线的图形 2)计算结果:A=[-9.8108,20.1293,-0.0317 f(x)=-9.8108x2+20.1293x-0.0317
2)计算结果:A= [-9.8108, 20.1293, -0.0317] 解法2.用多项式拟合的命令 MATLAB(zxec2) 0 0.2 0.4 0.6 0.8 1 -2 0 2 4 6 8 10 12 ( ) 9.8108 20.1293 0.0317 2 f x = − x + x − 1)输入命令: x=0:0.1:1; y=[-0.447,1.978,3.28,6.16,7.08,7.34,7.66,9.56,9.48,9.30,11.2]; A=polyfit(x,y,2) z=polyval(A,x); plot(x,y,'k+',x,z,'r') %作出数据点和拟合曲线的图形
用 MATLAB作非线性最小二乘拟合 两个求非线性最小二乘拟合的函数 I sqcurvefit, Isgnonlino 相同点和不同点:两个命令都要先建立M文件fun.m,定义函 数f(x),但定义f(x)的方式不同,请参考例题 1. Isgcurvefit 已知数据点: xdata=( xdata1, xdata2,…, datas) ydata=(ydatal, ydatao, .. ydata) I sqcurvefit用以求含参量x(向量)的向量值函数 F(x, xdata)=(F(x, xdata,),., F(x, xdata,)) 中的参变量x(向量),使得 ∑(F(x,xda,)-ya)最小
1. lsqcurvefit 已知数据点:xdata=(xdata1,xdata2,…,xdatan) ydata=(ydata1,ydata2,…,ydatan) 用MATLAB作非线性最小二乘拟合 两个求非线性最小二乘拟合的函数: lsqcurvefit、lsqnonlin。 相同点和不同点:两个命令都要先建立M-文件fun.m,定义函 数f(x),但定义f(x)的方式不同,请参考例题。 2 1 1 ( ( , ) ) 2 n i i i F x xdata ydata = − 最小 lsqcurvefit用以求含参量x(向量)的向量值函数 F(x,xdata)=(F(x,xdata1),…,F(x,xdatan))T 中的参变量x(向量),使得