怎麼用MATLAB擬合函式的係數

時間 2021-07-02 23:33:06

1樓:匿名使用者

直接使用polyfit函式,這個函式是用來實現多項式擬合的,你的函式可以看做是一個一次多項式,y與sin(x)的一次多項式

x=[1,2,3,4,5,6,7,8,9,10];

y=[7,3,6,8,2,4,10,16,2,8];

p=polyfit(sin(x),y,1)a=p(1)

c=p(2)

2樓:

%nlinfit 非線性引數擬合

clc;clear;

x=[1,2,3,4,5,6,7,8,9,10];

y=[7,3,6,8,2,4,10,16,2,8];

myfunc=inline('beta(1)*sin(x)+beta(2)','beta','x');

beta=nlinfit(x,y,myfunc,[0 0]);

a=beta(1)

c=beta(2)

%test the model

%x=[1,2,3,4,5,6,7,8,9,10];

%y=2*sin(x)+3;

% myfunc=inline('beta(1)*sin(x)+beta(2)','beta','x');

% beta=nlinfit(x,y,myfunc,[0 0]);

% a=beta(1)

% c=beta(2)

怎樣用matlab對資料進行曲線擬合 曲線的函式表示式給定具體系數未知 謝謝

3樓:匿名使用者

我只知道線性擬合,希望對您有幫助。比如

>> p=polyfit(x,y,n) %其中x,y為資料向量,n為擬合次數(通常都取5或6)

若滿意請採納! ^.^

4樓:匿名使用者

先用plot(x,y,‘b-’)畫出資料趨勢圖,再確定曲線擬合的方程形式(雙曲線、冪函式曲線、負指數曲線、s型曲線、指數曲線、對數曲線),然後用最小二乘法,確定擬合曲線方程的係數。

5樓:匿名使用者

匿名函式呼叫,把inline那一行改為,應該就okmyfunc=@( beta, x) -beta(1)*max(x).*exp(-pi*(x-beta(2)).^2/beta(3).

^2);

2樓基本上已經說到點上

了,內但是轉換成(max(y))也是不可行的。容num2str的變數為常數。例如

for n = 1:12

eval(['m' num2str(n) ' = magic(n)'])

end最好還是寫成具體的函式形式。

或者單個函式 function y=f(x)或者匿名函式 fun=@(x) x.^2

6樓:匿名使用者

匿名函bai數呼叫,把inline那一行改為,du應該就zhiok

myfunc=@( beta, x) -beta(1)*max(x).*exp(-pi*(x-beta(2)).^2/beta(3).^2);

2樓基本上已經說到點上了,dao但是轉換成(max(y))也是內不可行的。num2str的變數為容常數。例如

for n = 1:12

eval(['m' num2str(n) ' = magic(n)'])

end最好還是寫成具體的函式形式。

或者單個函式 function y=f(x)或者匿名函式 fun=@(x) x.^2

如何用matlab資料擬合函式?

7樓:閻海瑤奇建

matlab有好多方法來擬合函式,比如對數擬合、指數擬合、多項式擬合。建議你看一下講解matlab函式擬合的書籍。就你給的資料看,多項式擬合(polyfit)比較適合且比較簡單。

關於用matlab擬合一組資料得到函式的表示式

這個太難了,或者說是有太多的不確定性 因為連乙個大概的函式形式都沒有給出來 也就是說可能性太多,這組資料可以擬合出無數多種函式結果 如果什麼函式形式都不給出的話,或者用多項式擬合吧 下面是嘗試用11次多項式擬合你的資料 x 9,11,13,15,17,19,21,23,25,27,29,31,33,...

如何使用 MATLAB 進行威布林函式擬合曲線

執行你的程式產生隨機數,然後輸入weibplot y 可以看是否符合weibull分布,輸入wblfit y 得出兩個數,第乙個是尺度引數,第二個是形狀引數。還有weibull分布隨機數可以直接用wblrnd a,b,c,d 指令吧,a形狀引數,b尺度引數,c行數,d列數。首先是產生威布林分布隨機數...

用matlab進行曲線擬合多項式擬合

文庫精選 內容來自使用者 beyond1215 matlab學習 多項式擬合 1 1 polyfit函式 matlab的polyfit函式用於多項式擬合,其語法為 p polyfit x,y,k 其中,x,y分別是橫縱座標向量,它們不僅元素個數相同,而且同為行向量或同為列向量。k為非負整數,是待擬合...