matlab中nlinfit非線性擬合求引數

時間 2021-08-30 11:14:12

1樓:袁怡圃

補充回答:資料不好

建立函式檔案:

function y = myfun(beta,x)y = 2.350176*beta(1)*(1-1/beta(2))*(1-(1-x(:,1).

^(1/beta(2))).^beta(2)).^2.

*(x(:,1).^(-1/beta(2))-1).

^(-beta(2)).*x(:,1).

^(-1/beta(2)-0.5).*x(:

,2);

執行**:

x=[0.4292 0.4269 0.

381 0.4015 0.4117 0.

3017; 0.00014 0.00059 0.

0126 0.0061 0.00425 0.

0443];

x = x';

y=[0.517 0.509 0.44 0.466 0.479 0.309];

y = y';

beta=nlinfit(x,y,@myfun,[8 0.5])執行結果:

beta =

-55262931764.9336 0.0517

2樓:匿名使用者

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)

matlab中非線性擬合函式nlinfit引數中那個beta0是怎麼確定的?

3樓:匿名使用者

確定beta0值是比較困難的,但可以通過rand( )函式來初定,再通過多次調整,才能得到滿意beta0值(當相對差

回值r都比較小)答。

本例的beta0可取

beta0 =[0.92181 0.73821 0.17627 0.40571]

執行後得到

k = 20.738 -2.6401 0.14569 2.9844

如何利用matlab擬合非線性迴歸函式的初始引數

4樓:匿名使用者

推薦你使用

一個函式nlinfit,我簡單給你介紹一下使用方法,以你的模型2為例: 第一步:你需要建立一個function檔案,名字隨便,這裡我們命名為"hougen",在這個檔案內,你要把模型二描述清楚,首先我們假定beta=[a;b;c;d;e;f;g];x=[x,y,m];

matlab 曲線擬合求函式的最佳引數時怎麼確定引數的初始值x=[2:16];

y=[6.42 8.2 9.

58 9.5 9.7 10 9.

93 9.99 10.49 10.

59 10.6 10.8 10.

6 10.9 10.76];

plot(x,y,'*');

% b0=;%待定引數的初始值

fun=inline('b(1)*(1-b(2)*exp(b(3)*x))','b','x');

[b,r,j]=nlinfit(x,y,fun);

br=sum(r.^2)%誤差的平方和

求用matlab解決非線性擬合問題求相關引數。題目在下邊

5樓:我行我素

這個擬合是可以做的,可把資料發過來,不要用**,因為**中的數字不能在程式中複製、貼上。我的qq2674716548

如何在matlab中呼叫matlab中已有的函式

呼叫函式檔案 myfile.m clear clcfor t 1 10 y mylfg t end 自定義函式檔案 mylfg.m function y mylfg x 注意 函式名 mylfg 必須與檔名 mylfg.m 一致 y x 1 3 注 這種方法要求自定義函式必須單獨寫一個m檔案,不能與...

在MATLAB中,如何找出矩陣的非零元素。並且輸出它所在的行

r 1 2 3 1 21 0 0 0 44 0 5 0 61 1 1 1 05 0 8 6 0 b r 0 b 1 1 1 1 11 0 0 0 11 0 1 0 11 1 1 1 01 0 1 1 0從矩陣思考,按這樣寫。再幹什麼的話,不行你就for吧。巢狀一個for,搞定。for i 1 5 f...

matlab的plot命令,matlab中 plot函式全部功能怎麼用

我行我素 畫出圖形後一看就明白了 中括號一般表示區間或資料點,plot 2,1.1 中表示y座標,plot 2,1.1,1.1,2 1.1,1.1,1.1,1.1 中表示x座標和y座標的區間端點和資料值 1 沒有中括號就是表示點的意思,第一個就畫點 2,1.1 2 像樓上說得,中括號是構造矩陣用的,...