解法1.用解超定方程的方法 此时 R= xx11 1)输入以下命令: x=0:0.1:1; y=[-0.4471.9783.286.167.087.347.66 9.569.489.3011.2]; R=[(x.^2)'x'ones(11,1)]; MATLAB(zxec1) A=R\y' 2)计算结果:A=-9.810820.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' 2 1 1 2 11 11 1 1 x x R x x = 此时 MATLAB(zxec1) 解法1.用解超定方程的方法 2)计算结果: A = -9.8108 20.1293 -0.0317 ( ) 9.8108 20.1293 0.0317 2 f x = − x + x −
解法2.用多项式拟合的命令 1)输入以下命令: x=0:0.1:1; 02 0.4 0.6 0.8 y=[-0.4471.9783.286.167.087.347.66 9.569.489.3011.2]; A=polyfit(x,y,2) MATLAB(zxec2) z=polyval(A,x); P1ot(x,Y,'k+',x,z,'r)%作出数据点和拟合曲线的图形 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]; A=polyfit(x,y,2) z=polyval(A,x); plot(x,y,'k+',x,z,'r') %作出数据点和拟合曲线的图形 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 −
用MATLAB作非线性最小二乘拟合 MATLAB提供了两个求非线性最小二乘拟合的函数: lsqcurvefit和1 sqnonlin.两个命令都要先建立M文件 fun.m,在其中定义函数f),但两者定义fx)的方式是不同 的,可参考例题 1.lsqcurvefit 已知数据点:xdata-(xdata1,xdata2,xdatan) ydata=(ydatal,ydata2,.,ydatan) 1 sqcurvefit用以求含参量x(向量)的向量值函数 F(x,xdata)=(F (x,xdata),(x,xdata))T 中的参变量x(向量),使得 ∑(F(x,xdata,)-ydata,)最小
1. lsqcurvefit 已知数据点: xdata=(xdata1,xdata2,.,xdatan), ydata=(ydata1,ydata2,.,ydatan) 用MATLAB作非线性最小二乘拟合 MATLAB提供了两个求非线性最小二乘拟合的函数: lsqcurvefit和lsqnonlin.两个命令都要先建立M文件 fun.m,在其中定义函数f(x),但两者定义f(x)的方式是不同 的,可参考例题. 2 1 ( ( , ) ) n i i i F x xdata ydata = − 最小 lsqcurvefit用以求含参量x(向量)的向量值函数 F(x,xdata)=(F(x,xdata1),.,F(x,xdatan))T 中的参变量x(向量),使得