在之前的幾節(jié)中我們介紹了一些插值和擬合的算法迁筛,這一節(jié)我們介紹Matlab中專用于曲線擬合和插值的工具箱——cftool。
以一個例子作為這篇文章的開始:
例1 已知一組函數(shù)采樣點如下表:
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 |
利用Matlab中的cftool尋找適當?shù)哪P蛯@個數(shù)據(jù)進行擬合耕挨。
1.在命令行輸入數(shù)據(jù)
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.嘗試畫出折線圖觀察
發(fā)現(xiàn)曲線形狀更像一個二次曲線或者一個指數(shù)曲線细卧,所以決定使用二次曲線或指數(shù)曲線分別擬合選擇效果好的一種。
接下來就要用到工具箱了
3.打開cftool工具箱
在命令行輸入cftool
>> cftool
之后就會出現(xiàn)cftool的主界面
下面對界面進行逐一介紹:
1.左上角——數(shù)據(jù)界面
可以看到cftool工具箱支持最多3維數(shù)據(jù)的擬合筒占,而且還可以為數(shù)據(jù)增加權(quán)重贪庙。
在你打開工具箱之后,它會自動讀取工作區(qū)的數(shù)據(jù)翰苫,你需要將其分別賦給X,Y,Z data止邮。
2.右上角——擬合選項
左邊部分:
最上面:函數(shù)類型
Polynomial:多項式
Degree:多項式階數(shù)。
Robust:魯棒性要求:
Off——無要求
LAR——(least absolute residual)最小絕對殘差
Bisquare——賦權(quán)最小殘差奏窑,給離曲線近的給予較大的權(quán)重导披,遠的給予較小的權(quán)重。
Custom Equation:用戶自定方程
下面是用戶自行編寫的函數(shù)形式良哲。
指數(shù)型Exponential
舉例說明到此結(jié)束盛卡,剩下的類型請讀者自行探索。
3.左下角——結(jié)果(Result)
在這部分中會給出函數(shù)的模型和計算出的參數(shù)值筑凫。
4.右下角——圖像
給出按參數(shù)擬合出的函數(shù)圖像滑沧。
5.最下方——各類參數(shù)和評價指標
4.比較兩種擬合方式的結(jié)果
二次多項式:
指數(shù)型:
從二者的結(jié)果比較可以明顯看出,多項式的擬合效果更好巍实。