㈠ 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 cftool工具箱擬合曲線的時候,怎麼獲得所要的數據點個數
我覺得我們需要是結果,以及結果的精度,而非結果中數據的個數。
以
>> x=[1:5];
>> y=2*x
為例:
結果為
Linear model Poly1:
f(x) = p1*x + p2
Coefficients (with 95% confidence bounds):
p1 = 2 (2, 2)
p2 = -4.658e-16 (-3.172e-15, 2.24e-15)
Goodness of fit:
SSE: 1.972e-30
R-square: 1
Adjusted R-square: 1
RMSE: 8.108e-16
若是樓主真得需要,推薦樓主去看操作生成的代碼
function [fitresult, gof] = createFit(x, y)
[xData, yData] = prepareCurveData( x, y );
% Set up fittype and options.
ft = fittype( 'poly1' );
% Fit model to data.
[fitresult, gof] = fit( xData, yData, ft );
% Plot fit with data.
figure( 'Name', 'untitled fit 1' );
h = plot( fitresult, xData, yData );
legend( h, 'y vs. x', 'untitled fit 1', 'Location', 'NorthEast' );
% Label axes
xlabel( 'x' );
ylabel( 'y' );
grid on
其實我已經看到了這里幾個函數的幫助,沒有發現可以設置擬合數據的長度的。
希望對樓主有幫助,謝謝。
㈢ matlab曲線擬合工具箱怎麼用
不是matlab安裝的問題來,這個問源題我也遇到過,遍求解答無果之後,終於自己摸索出來了。是這樣的,不要用GUI中的data按鈕來新建數據集,而要在matlab命令窗口中,輸入命令:cftool(a,b),其中a,b就是你要設置的x、y坐標的向量。這樣出來散點圖,之後再在cftool工具箱的GUI中點fitting按鈕,選擇曲線擬合
㈣ matlab中如何進行曲線擬合
擬合用polyfit和polyval.
b=polyfit(x,y,2);%進行2次擬合,b是多項式前面的值。就如2次擬合中y=ax+b,a,b的值。
yy=polyval(b,x);%得到擬合後y的新值
plot(x,yy)%畫擬合圖
㈤ MATLAB曲線擬合工具箱sftool擬合三位函數中的數據點怎麼導入
如你的數據保存的格式是xls的話,可以用xlsread()函數,將Excel數據導入MATLAB中。以矩陣A形式存內儲,然後導入sftool工具容箱。
實現代碼:
A=xlsread('example.xls',) %對於高版本的matlab,也可以讀xlsx格式的數據
x=A(:,1)
y=A(:,2)
z=A(:,3)
sftool %打開sftool工具箱,分別把x導入X input中,y導入Y input中,z導入Z input中
設置擬合函數,可以自選函數,也可以自定義函數
。。。。。。
以下為一個實例,供參考。
㈥ 用matlab曲線擬合工具箱擬合數據後要進行預測,應該怎麼做啊哪位大神
不是matlab安裝的問題,這個問題我也遇到過,遍求解答無果之後,終於自己摸索出來了。是這樣的,不要用gui中的data按鈕來新建數據集,而要在matlab命令窗口中,輸入命令:cftool(a,b),其中a,b就是你要設置的x、y坐標的向量。這樣出來散點圖,之後再在cftool工具箱的gui中點fitting按鈕,選擇曲線擬合
㈦ matlab cftool 曲線擬合工具箱生成圖里的黑點怎麼去掉
matlab cftool 曲線擬合工具箱生成圖里的點是去不掉的,只能將黑點變成淡顏色的點。
程序在Matlab2013b上通過。
㈧ 如何利用matalb cftool工具箱擬合曲線
如何利用matalb cftool工具箱擬合曲線
您好,這樣的:一、 單一變數的曲線逼近
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」選擇擬合曲線的類型,工具箱提供的擬合類
㈨ Matlab中如何將cftool工具箱中的擬合函數曲線導出
目前的Matlab,還不能導出由cftool工具箱得到的擬合函數曲線。但可以提供編程得到你所要的擬合函數曲線。