導航:首頁 > 程序命令 > matlab擬合命令

matlab擬合命令

發布時間:2022-05-03 03:07:36

❶ matlab中如何進行曲線擬合

您好,這樣的:一、 單一變數的曲線逼近
Matlab有一個功能強大的曲線擬合工具箱 cftool ,使用方便,能實現多種類型的線性、非線
性曲線擬合。下面結合我使用的 Matlab R2007b 來簡單介紹如何使用這個工具箱。
假設我們要擬合的函數形式是 y=A*x*x + B*x, 且A>0,B>0 。
1、在命令行輸入數據:

》x=[110.3323 148.7328 178.064 202.8258033 224.7105 244.5711 262.908 280.0447
296.204 311.5475]

》y=[5 10 15 20 25 30 35 40 45 50]

2、啟動曲線擬合工具箱
》cftool

3、進入曲線擬合工具箱界面「Curve Fitting tool」
(1)點擊「Data」按鈕,彈出「Data」窗口;
(2)利用X data和Y data的下拉菜單讀入數據x,y,可修改數據集名「Data set name」,然
後點擊「Create data set」按鈕,退出「Data」窗口,返回工具箱界面,這時會自動畫出數
據集的曲線圖;
(3)點擊「Fitting」按鈕,彈出「Fitting」窗口;
(4)點擊「New fit」按鈕,可修改擬合項目名稱「Fit name」,通過「Data set」下拉菜單
選擇數據集,然後通過下拉菜單「Type of fit」選擇擬合曲線的類型,工具箱提供的擬合類
型有:
Custom Equations:用戶自定義的函數類型
Exponential:指數逼近,有2種類型, a*exp(b*x) 、 a*exp(b*x) + c*exp(d*x)
Fourier:傅立葉逼近,有7種類型,基礎型是 a0 + a1*cos(x*w) + b1*sin(x*w)
Gaussian:高斯逼近,有8種類型,基礎型是 a1*exp(-((x-b1)/c1)^2)
Interpolant:插值逼近,有4種類型,linear、nearest neighbor、cubic spline、shape-
preserving
Polynomial:多形式逼近,有9種類型,linear ~、quadratic ~、cubic ~、4-9th degree ~
Power:冪逼近,有2種類型,a*x^b 、a*x^b + c
Rational:有理數逼近,分子、分母共有的類型是linear ~、quadratic ~、cubic ~、4-5th
degree ~;此外,分子還包括constant型
Smoothing Spline:平滑逼近(翻譯的不大恰當,不好意思)
Sum of Sin Functions:正弦曲線逼近,有8種類型,基礎型是 a1*sin(b1*x + c1)
Weibull:只有一種,a*b*x^(b-1)*exp(-a*x^b)
選擇好所需的擬合曲線類型及其子類型,並進行相關設置:
——如果是非自定義的類型,根據實際需要點擊「Fit options」按鈕,設置擬合演算法、修改
待估計參數的上下限等參數;
——如果選Custom Equations,點擊「New」按鈕,彈出自定義函數等式窗口,有「Linear
Equations線性等式」和「General Equations構造等式」兩種標簽。
在本例中選Custom Equations,點擊「New」按鈕,選擇「General Equations」標簽,輸入函
數類型y=a*x*x + b*x,設置參數a、b的上下限,然後點擊OK。

❷ 如何用matlab進行函數組的擬合

我覺得,首先你應該對微分方程求積分。使其變成一個一個隨時間變化的函數。
cw=G(t),或者cp=F(t)等等。這樣就是一個比較簡單的函數關系式。最後調用擬合函數就可以了。
比如由微分方程變化cw=G(t),使用微分非齊次公式。成為cw=C1*exp(C2*t)+C3。當然C1,C2,C3包括了你的未知變數K1~K4。你使用完指數擬合後能知道C1~C3的值。
再把C1~C3求導,放回微分方程中。往變數t中帶值,這樣就會形成一個方程組求取K1~K4。由於可能是奇異矩陣,所以你用最小二乘法就能求出最後的K1~K4值。

❸ 怎麼用matlab進行數據的多元擬合

如何用matlab進行數據的多元函數擬合?

1、擬合前,我們應准備x1,x2,x3,。。。,y的一系列數據

2、將x1,x2,x3,。。。數據賦值給X變數

3、自定義多元函數擬合函數,如func=@(a,x)a(1)*x1+a(2)*x2+a(3)*x3+a(4),a為擬合系數

4、初定a的初始值,如a0=[0,0,0,0] %其個數必須與擬合顯示對應

5、利用nlinfit或lsqcurvefit函數,求其擬合系數。如

[a,r,J]=nlinfit(X,y,func,a0)

這里,a為擬合系數;r為殘差;J為Jacobian 矩陣

6、利用nlparci函數,求得擬合系數的置信區間,即

ci = nlparci(p,r,J)

7、計算擬合值,即 yi=func(a,x)

8、計算原數據與擬合數據的相關性,如R²≈1,則認為擬合是合理的。

❹ MATLAB中如何把cftool擬合的函數輸出到命令行

綜述如下:

1、在使用cftool擬合好理想的曲線後,點擊File下的Generate Code,MATLAB會自動生成一個未命名的function,自行保存到工作文件夾。此處注意,默認的函數名叫createFit(XX,YY,、、、),可根據個人需要修改。

2、回到、m文件,在需要擬合函數的那一步,鍵入"fitresult,gof=createFit(XX,YY,、、、);"其中fitresult返回的是系數取值,gof返回的是goodness-of-fitness擬合好壞的信息。

3、後續如果想調用某一個具體的系數值,例如關心的系數a1,可使用「fitresult、a1」命令。又或者c3,則使用「fitresult、c3」命令,以此類推。

MATLAB優點簡單易用

Matlab是一個高級的矩陣/陣列語言,它包含控制語句、函數、數據結構、輸入和輸出和面向對象編程特點。用戶可以在命令窗口中將輸入語句與執行命令同步,也可以先編寫好一個較大的復雜的應用程序(M文件)後再一起運行。新版本的MATLAB語言是基於最為流行的C++語言基礎上的,因此語法特徵與C++語言極為相似,而且更加簡單,更加符合科技人員對數學表達式的書寫格式。

❺ 如何用matlab數據擬合函數

1、首先啟動matlab,選擇編輯器,再新建一個命令文件。

❻ matlab擬合函數

題主給出中國人口預測問題(二),可以使用英國經濟學家馬爾薩斯提出的Malthus模型來擬合與預測。其步驟:

第一步,自定義Malthus模型函數(指數函數),如

func=@(k,t)N0*exp(D*(t-t0))

這里,N0=60.2;t0=1954;

第二步,利用1954-2005年的數據,分別使用lsqcurvefit函數,求出系數D。即

[D,resnorm,resial,exitflag]=lsqcurvefit(func,a0,t,N);

第三步,計算擬合值,即

x1=func(D,t);

第四步,計算相關系數R^2,即

R2=R2_fun(x,x1);

第五步,預測2010年和2030年的人口數,即

xhat=func(D,2010);

disp(['預測2010年人口數為',num2str(xhat),'千萬'])

xhat=func(D,2030);

disp(['預測2030年人口數為',num2str(xhat),'千萬'])

第六步,使用plot函數繪制,中國人口數的統計數據與預測模型曲線對比圖,即

plot(t,x,'*-',t,x1,'+-')

第七步,標注圖例,即

legend('統計數據','Malthus模型')

第八步,編寫標題,即

title='中國人口數的統計數據與Malthus模型曲線對比';

第九步,標注坐標軸名稱,即

xlabel('年份');ylabel('人口(千萬)');

最後,編寫程序,並運行可以得到如下結果。

其他問題與上述過程類似。

❼ MATLAB如何對三角函數進行擬合

Matlab可以輸入與三角函數相關的數據以及三角函數形式,從而求出待定的系數,完成數據擬合。完成三角函數擬合過程如下:

1、打開Matlab,在命令行窗口輸入需要擬合數據。

❽ matlab如何做線性擬合

方法一

1、最常用的是多項式擬合,採用polyfit函數,在命令窗口輸入自變數x和因變數y。

❾ 怎樣用matlab指數函數擬合

擬合函數表達式:y=a*exp(b+cx)

式中a=0.06154920769,

b=-3.18125203,

c=7.822374803

擬合度0.9725(相關系數)

用V=A(1)*exp(A(2)*I)+A(3)*exp(A(4)*I)模型比較好。

A = nlinfit(X,Y,myfun,[700 -0.01 -700 -1 ])

I=min(X):0.1:max(X);

V=A(1)*exp(A(2)*I)+A(3)*exp(A(4)*I);

plot(X,Y,'o',I,V)

結果:A =668.9571 -0.0688 -656.7991 -1.0321

意義

a>1時,Y隨X增大而增大,先快後慢;0<a<1時,Y隨X增大而減少,先快後慢。當以Y和lnX繪制的散點圖呈直線趨勢時,可考慮採用對數函數描述Y與X之間的非線性關系,式中的b和a分別為斜率和截距。

曲線直線化是曲線擬合的重要手段之一。對於某些非線性的資料可以通過簡單的變數變換使之直線化,這樣就可以按最小二乘法原理求出變換後變數的直線方程,在實際工作中常利用此直線方程繪制資料的標准工作曲線,同時根據需要可將此直線方程還原為曲線方程,實現對資料的曲線擬合。

以上內容參考:網路-曲線擬合

❿ 怎麼用matlab進行非線性的多元函數擬合

方法一:

1、最常用的是多項式擬合,採用polyfit函數,在命令窗口輸入自變數x和因變數y。

閱讀全文

與matlab擬合命令相關的資料

熱點內容
linux命令新建文件 瀏覽:708
長線pdf 瀏覽:607
程序員電腦支持手寫 瀏覽:414
解壓頭戴式耳機推薦 瀏覽:344
紙條app上怎麼樣看對方主頁 瀏覽:883
編譯英語單詞怎麼寫 瀏覽:249
編譯原理和匯編原理的區別 瀏覽:864
如何給加密的pdf解密 瀏覽:770
華為盒子時間同步伺服器地址 瀏覽:95
python處理excel亂碼 瀏覽:391
mysql的命令行 瀏覽:822
jpeg採用什麼演算法 瀏覽:701
程序員紅軸薄膜 瀏覽:306
洗臉盆壓縮 瀏覽:780
dpd是什麼演算法 瀏覽:157
加密技術中的密鑰 瀏覽:962
qq企業郵箱本地客戶端伺服器地址 瀏覽:751
排序演算法框架 瀏覽:852
馬扎克qtn編程說明書下載 瀏覽:188
程序員在國外年齡 瀏覽:376