原文地址:matlab非线性最小二乘拟合作者:金蝉子十一世不骑白马用matlab作线性最小二乘拟合(poly=polynomial) 作多项式f(x)=a1xm+ ...+amx+am+1拟合,可利用已有程序: a=polyfit(x,y,m) 多项式在x处的值y可用以下命令计算:y=polyval(a,x) 用matlab作非线性最小二乘拟合  rvefit和lsqnonlin.这两个命令都要先建立m-文件f n.m,在其中定义函数f(x),但两者定义f(x)的方式是不同的,可参考例题. 1. lsqc rvefit(least sq are method) 已知数据点: xdata=(xdata1,xdata2..,xdatan), ydata=(ydata1,ydata2..,ydatan) x0:迭代初值 x = lsqc rvefit ( f n ,x0,xdata,ydata,options); lsqc rvefit用以求含参量x(向量)的向量值函数 f(x,xdata)=(f(x,xdata1)..,f(x,xdatan))t 中的参变量x(向量),使得 预测值与原始值的差平方的和最小 2. lsqnonlin 已知数据点: xdata=(xdata1,xdata2..,xdatan) ydata=(ydata1,ydata2..,ydatan) x= lsqnonlin ( f n ,x0,options);