Ⅰ 如何調用matlab擬合工具箱得出的
您好,這樣的:一、
單一變數的曲線逼近
Matlab有一個功能強大的曲線擬合工具箱版
cftool
,使用方便,能實現權多種類型的線性、非線
性曲線擬合。下面結合我使用的
Matlab
R2007b
來簡單介紹如何使用這個工具箱。
假設我們要擬合的函數形式是
y=A*x...
Ⅱ matlab曲線擬合工具箱怎麼用
不是matlab安裝的問題來,這個問源題我也遇到過,遍求解答無果之後,終於自己摸索出來了。是這樣的,不要用GUI中的data按鈕來新建數據集,而要在matlab命令窗口中,輸入命令:cftool(a,b),其中a,b就是你要設置的x、y坐標的向量。這樣出來散點圖,之後再在cftool工具箱的GUI中點fitting按鈕,選擇曲線擬合
Ⅲ 如何使用matlab擬合工具箱
1.打開CFTOOL工具箱。
在Matlab 6.5以上的環境下,在左下方有一個"Start"按鈕,如同Windows的開始菜單,點開它,在目錄"Toolboxes"下有一個"Curve Fitting",點開"Curve Fitting Tool",出現數據擬合工具界面,基本上所有的數據擬合和回歸分析都可以在這里進行。也可以在命令窗口中直接輸入」cftool」,打開工具箱。
2.輸入兩組向量x,y。
首先在Matlab的命令行輸入兩個向量,一個向量是你要的x坐標的各個數據,另外一個是你要的y坐標的各個數據。輸入以後假定叫x向量與y向量,可以在workspace裡面看見這兩個向量,要確保這兩個向量的元素數一致,如果不一致的話是不能在工具箱裡面進行擬合的。 例如在命令行里輸入下列數據: x = [196,186, 137, 136, 122, 122, 71, 71, 70, 33]; y = [0.012605; 0.013115; 0.016866; 0.014741; 0.022353; 0.019278; 0.041803; 0.038026; 0.038128; 0.088196];
3.數據的選取。
打開曲線擬合共工具界面,點擊最左邊的"Data..."按鈕,出現一個Data對話框,在Data Sets頁面里,在X Data選項中選取x向量,Y Data選項中選取y向量,如果兩個向量的元素數相同,那麼Create data set按鈕就激活了,此時點擊它,生成一個數據組,顯示在下方Data Sets列表框中。關閉Data對話框。此時Curve Fitting Tool窗口中顯示出這一數據組的散點分布圖。
4.曲線擬合(冪函數power)。
點擊Fitting...按鈕,出現Fitting對話框,Fitting對話框分為兩部分,上面為Fit Editor,下面為Table of Fits,有時候窗口界面比較小,Fit Editor部分會被收起來,只要把Table of Fits上方的橫條往下拉就可以看見Fit Editor。在Fit Editor裡面點擊New Fit按鈕,此時其下方的各個選框被激活,在Data Set選框中選中剛才建立的x-y數據組,然後在Type of fit選框中選取擬合或回歸類型,各個類型的擬合或回歸相應的分別是: Custom Equations 用戶自定義函數 Expotential e指數函數 Fourier 傅立葉函數,含有三角函數 Gaussian 正態分布函數,高斯函數 Interpolant 插值函數,含有線性函數,移動平均等類型的擬合 Polynomial 多項式函數 Power 冪函數 Rational 有理函數(不太清楚,沒有怎麼用過) Smooth Spline (光滑插值或者光滑擬合,不太清楚) Sum of sin functions正弦函數類
在這個Type of fit選框中選擇好合適的類型,並選好合適的函數形式。於是點擊Apply按鈕,就開始進行擬合或者回歸了。此時在Curve Fitting Tool窗口上就會出現一個擬合的曲線。這就是所要的結果。 在上面的例子中,選擇sum of sin functions中的第一個函數形式,點擊Apply按鈕,就可以看見擬合得到的正弦曲線。
Ⅳ 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中
設置擬合函數,可以自選函數,也可以自定義函數
。。。。。。
以下為一個實例,供參考。
Ⅳ matlab2014曲線擬合工具箱怎麼輸入數據
您好,這樣的:一、 單一變數的曲線逼近
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。
(5)類型設置完成後,點擊「Apply」按鈕,就可以在Results框中得到擬合結果,如下例:
general model:
f(x) = a*x*x+b*x
Coefficients (with 95% confidence bounds):
a = 0.009194 (0.009019, 0.00937)
b = 1.78e-011 (fixed at bound)
Goodness of fit:
SSE: 6.146
R-square: 0.997
Adjusted R-square: 0.997
RMSE: 0.8263
同時,也會在工具箱窗口中顯示擬合曲線。
這樣,就完成一次曲線擬合啦,十分方便快捷。當然,如果你覺得擬合效果不好,還可以在「
Fitting」窗口點擊「New fit」按鈕,按照步驟(4)~(5)進行一次新的擬合。
不過,需要注意的是,cftool 工具箱只能進行單個變數的曲線擬合,即待擬合的公式中,變
量只能有一個。對於混合型的曲線,例如 y = a*x + b/x ,工具箱的擬合效果並不好。下一
篇文章我介紹幫同學做的一個非線性函數的曲線擬合。
Ⅵ matlab 裡面數據擬合工具箱使用
不是matlab安裝的問題,這個問題我也遇到過,遍求解答無果之後,終於自己摸索出來專了。是這樣的,不要屬用GUI中的data按鈕來新建數據集,而要在matlab命令窗口中,輸入命令:cftool(a,b),其中a,b就是你要設置的x、y坐標的向量。這樣出來散點圖,之後再在cftool工具箱的GUI中點fitting按鈕,選擇曲線擬合
Ⅶ 用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曲線擬合工具箱在哪
曲線擬合工具箱
cftool
Ⅸ MATLAB中如何將擬合工具箱中的擬合函數保存為函數並隨時調用
復制擬合結果(擬合函數及系數),寫成完整的表達式,然後用int()函數計算積分。函數使用格式
int('f(x)')
求不定積分
int('f(x)',a,b)
求定積分
Ⅹ 如何使用matlab中的工具箱
1、我們首先給出對應的擬合數據:
>> x=1:100;
>> y=2*x;
一條直線。