matlab最小二乘法拟合参数,matlab最小二乘法的非线性参数拟合
matlab最小二乘法的非線性參數(shù)擬合
首先說一下匿名函數(shù):在創(chuàng)建匿名函數(shù)時,Matlab記錄了關(guān)于函數(shù)的信息,當使用句柄調(diào)用該函數(shù)的時候,Matlab不再進行搜索,而是立即執(zhí)行該函數(shù),極大提高了效率。所以首選匿名函數(shù)。具體擬合時可以使用的方法如下:
1 曲線擬合工具箱提供了很多擬合函數(shù),使用簡單
非線性擬合nlinfit函數(shù)
clear all;
x1=[0.4292 0.4269 0.381 0.4015 0.4117 0.3017]';
x2=[0.00014 0.00059 0.0126 0.0061 0.00425 0.0443]';
x=[x1 x2];
y=[0.517 0.509 0.44 0.466 0.479 0.309]';
f=@(p,x)
2.350176*p(1)*(1-1/p(2))*(1-(1-x(:,1).^(1/p(2))).^p(2)).^2.*(x(:,1).^ (-1/p(2))-1).^(-p(2)).*x(:,1).^(-1/p(2)-0.5).*x(:,2);
p0=[8 0.5]';
opt=optimset('TolFun',1e-3,'TolX',1e-3);%
[p R]=nlinfit(x,y,f,p0,opt)
2 最小二乘法在曲線擬合中比較普遍。擬合的模型主要有
1.直線型
2.多項式型
3.分數(shù)函數(shù)型
4.指數(shù)函數(shù)型
5.對數(shù)線性型
6.高斯函數(shù)型
一般對于LS問題,通常利用反斜杠運算“\”、fminsearch或優(yōu)化工具箱提供的極小化函數(shù)求解。在Matlab中,曲線擬合工具箱也提供了曲線擬合的圖形界面操作。在命令提示符后鍵入:cftool,即可根據(jù)數(shù)據(jù),選擇適當?shù)臄M合模型。
“\”命令
1.假設(shè)要擬合的多項式是:y=a+b*x+c*x^
2.首先建立設(shè)計矩陣X:
X=[ones(size(x)) x x^2];
執(zhí)行:
para=X\y
para中包含了三個參數(shù):para(1)=a;para(2)=b;para(3)=c;
這種方法對于系數(shù)是線性的模型也適應。
2.假設(shè)要擬合:y=a+b*exp(x)+cx*exp(x^2)
設(shè)計矩陣X為
X=[ones(size(x)) exp(x) x.*exp(x.^2)];
para=X\y
3.多重回歸(乘積回歸)
設(shè)要擬合:y=a+b*x+c*t,其中x和t是預測變量,y是響應變量。設(shè)計矩陣為X=[ones(size(x)) x t] %注意x,t大小相等!
para=X\y
總結(jié)
以上是生活随笔為你收集整理的matlab最小二乘法拟合参数,matlab最小二乘法的非线性参数拟合的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《计算机组成原理》
- 下一篇: 避免摄像机穿透地形模型