⑴ 如何用MATLAB將10個點擬合出一條曲線求詳細步驟、解題思路!萬分感謝
首先將你的數據放在工作空間,然後在命令窗口鍵入cftool 可打開曲線擬合工具箱,純圖形界面操作,很簡單的,你按照提示點幾下滑鼠就行了。
⑵ matlab中的csape怎麼使用
function pp = csape(x,y,conds,valconds)
%pp=csape(x,y,'變界類型','邊界值'),生成各種邊界條件的三次樣條插值. 其中,(x,y)為數據向量
%邊界類型可為:'complete',給定邊界一階導數.
% 'not-a-knot',非扭結條件,不用給邊界值.
% 'periodic',周期性邊界條件,不用給邊界值.
% 'second',給定邊界二階導數.
% 'variational',自然樣條(邊界二階導數為0)
% .
%例 考慮數據
% x | 1 2 4 5
% ---|-------------
% y | 1 3 4 2
%邊界條件S''(1)=2.5,S''(5)=-3,
% x=[1 2 4 5];y=[1 3 4 2];
% pp=csape(x,y,'second',[2.5,-3]);pp.coefs
% xi=1:0.1:5;yi=ppval(pp,xi);
% plot(x,y,'o',xi,yi);
pp0 = csape(x,[1,zeros(1,length(y)),0],[1,0]);
pp = csape( x, [1 sin(x) 0], [1 2] ) %左邊的點一階導數為1,右邊的點二階導數為0
splinetool是一個圖形化的插值工具
lagrange插值,由於lagrange插值可能不收斂,所以工程中很少有人用這種插值。matlab中沒有專門的lagrange插值函數。但我們可以自己編一個,如下:
%lagrange插值子函數
function y=lagrange(x0,y0,x)
n=length(x0); m=length(x);
for i=1:m
z=x(i);
s=0.0;
for k=1:n
p=1.0;
for j=1:n
if j~=k
p=p*(z-x0(j))/(x0(k)-x0(j));
end
end
s=p*y0(k)+s;
end
y(i)=s;
end
⑶ 如何用matlab數據擬合函數
Matlab有一個功能強大的曲線擬合工具箱 cftool ,使用方便,能實現多種類型的線性、非線性曲線擬合。下面結合我使用的 Matlab R2007b 來簡單介紹如何使用這個工具箱。x0dx0ax0dx0a假設我們要擬合的函數形式是 y=A*x*x + B*x, 且A>0,B>0。x0dx0ax0dx0a1、在命令行輸入數據:x0dx0a》x=[110.3323 148.7328 178.064 202.8258033 224.7105 244.5711 262.908 280.0447 296.204 311.5475];x0dx0a》y=[5 10 15 20 25 30 35 40 45 50];x0dx0ax0dx0a2、啟動曲線擬合工具箱x0dx0a》cftoolx0dx0ax0dx0a3、進入曲線擬合工具箱界面「Curve Fitting tool」x0dx0a(1)點擊「Data」按鈕,彈出「Data」窗口;x0dx0a(2)利用X data和Y data的下拉菜單讀入數據x,y,可修改數據集名「Data set name」,然後點擊「Create data set」按鈕,退出「Data」窗口,返回工具箱界面,這時會自動畫出數據集的曲線圖;x0dx0a(3)點擊「Fitting」按鈕,彈出「Fitting」窗口;x0dx0a(4)點擊「New fit」按鈕,可修改擬合項目名稱「Fit name」,通過「Data set」下拉菜單選擇數據集,然後通過下拉菜單「Type of fit」選擇擬合曲線的類型,工具箱提供的擬合類型有:x0dx0aCustom Equations:用戶自定義的函數類型x0dx0aExponential:指數逼近,有2種類型, a*exp(b*x) 、 a*exp(b*x) + c*exp(d*x)x0dx0aFourier:傅立葉逼近,有7種類型,基礎型是 a0 + a1*cos(x*w) + b1*sin(x*w)x0dx0aGaussian:高斯逼近,有8種類型,基礎型是 a1*exp(-((x-b1)/c1)^2)x0dx0aInterpolant:插值逼近,有4種類型,linear、nearest neighbor、cubic spline、shape-preservingx0dx0aPolynomial:多形式逼近,有9種類型,linear ~、quadratic ~、cubic ~、4-9th degree ~x0dx0aPower:冪逼近,有2種類型,a*x^b 、a*x^b + cx0dx0aRational:有理數逼近,分子、分母共有的類型是linear ~、quadratic ~、cubic ~、4-5th degree ~;此外,分子還包括constant型x0dx0aSmoothing Spline:平滑逼近(翻譯的不大恰當,不好意思)x0dx0aSum of Sin Functions:正弦曲線逼近,有8種類型,基礎型是 a1*sin(b1*x + c1)x0dx0aWeibull:只有一種,a*b*x^(b-1)*exp(-a*x^b)
⑷ 如何使用matlab中的工具箱
使用matlab中的工具箱方法:
MATLAB自帶工具箱
查看方式:
我們首先詳細介紹一下MATLAB自帶工具箱的使用。
在我們不熟悉一些調用工具箱的命令的時候,我們可以按照如下圖所示:
在MATLAB主窗口中,點擊左下角start--toolboxes,就會羅列出你的MATLAB已經安裝的所有工具箱,可以根據你的需要選擇你將要使用的工具箱。我們可以看到有擬合工具箱、金融工具箱、最優化工具箱等等。
調用(打開)方式:
下面我們介紹一下如何打開一個工具箱。
我們以調用擬合工具箱為例,進行詳細的示例。
調用方式一:
按照如下圖所示的步驟:
點擊主窗口左下角start--toolboxes--curve fitting--curve fitting tool 單擊,就可以打開擬合工具箱.
調用方式二:
在上一步中,我們在start--toolboxes--curve fitting--curve fitting tool ,到這里的時候,會看到在其後面有一個簡寫 cftool 如下圖,這就是我們的擬合工具箱調用命令函數。在MATLAB主窗口中輸入cftool ,回車,同樣可以打開擬合工具箱。
工具箱的使用:
擬合工具箱打開之後,如下,我們就可以進行多種曲線擬合了。
關於MATLAB擬合工具箱等,一些工具箱的詳細用法,由於篇幅的有限,在我的其他經驗中都會陸續給出,有興趣的可以查看。
非自帶工具箱
非自帶工具箱,需另外下載,然後按照一定的步驟導入,導入後一般不能像上面工具箱一樣,通過界面操作,一般都通過函數使用。由於工具箱的導入有幾個小的細節需要注意,所以在我的其他經驗中,關於如何導入工具箱,我也進行了詳細的介紹。
⑸ 用matlab曲線擬合工具箱擬合數據後要進行預測,應該怎麼做啊哪位大神
不是matlab安裝的問題,這個問題我也遇到過,遍求解答無果之後,終於自己摸索出來了。是這樣的,不要用gui中的data按鈕來新建數據集,而要在matlab命令窗口中,輸入命令:cftool(a,b),其中a,b就是你要設置的x、y坐標的向量。這樣出來散點圖,之後再在cftool工具箱的gui中點fitting按鈕,選擇曲線擬合
⑹ 如何用matlab數據擬合函數
1、首先啟動matlab,選擇編輯器,再新建一個命令文件。
⑺ 【數學建模演算法】(番外6)Matlab曲線擬合工具箱cftool
以一個例子作為這篇文章的開始:
利用Matlab中的cftool尋找適當的模型對這個數據進行擬合。
發現曲線形狀更像一個二次曲線或者一個指數曲線,所以決定使用二次曲線或指數曲線分別擬合選擇效果好的一種。
接下來就要用到工具箱了
在命令行輸入cftool
之後就會出現cftool的主界面
下面對界面進行逐一介紹:
可以看到cftool工具箱支持最多3維數據的擬合,而且還可以為數據增加權重。
在你打開工具箱之後,它會自動讀取工作區的數據,你需要將其分別賦給X,Y,Z data。
左邊部分:
最上面:函數類型
Polynomial:多項式
Degree:多項式階數。
Robust:魯棒性要求:
Off——無要求
LAR——(least absolute resial)最小絕對殘差
Bisquare——賦權最小殘差,給離曲線近的給予較大的權重,遠的給予較小的權重。
Custom Equation:用戶自定方程
下面是用戶自行編寫的函數形式。
指數型Exponential
舉例說明到此結束,剩下的類型請讀者自行探索。
在這部分中會給出函數的模型和計算出的參數值。
給出按參數擬合出的函數圖像。
二次多項式:
指數型:
從二者的結果比較可以明顯看出,多項式的擬合效果更好。