方法一:多項式擬合polyfit
1 x=[1 2 3 4 5 6 7 8 9]; 2
3 y=[9 7 6 3 -1 2 5 7 20]; 4 P= polyfit(x, y, 3) %三階多項式擬合 5
6 xi=0:.2:10; 7
8 yi= polyval(P, xi); %求對應y值 9
10 plot(xi,yi,x,y,'r*');
運行結果:
多項式系數:P =0.1481 -1.4030 1.8537 8.2698
使用matlab中的ploy2sym函數:y=poly2sym(P)
得到y=0.1481 * x^3 + -1.4030 * x^2 +1.8537 * x + 8.2698
方法二:工具箱擬合cftool
1 x=[1 2 3 4 5 6 7 8 9]; 2 y=[9 7 6 3 -1 2 5 7 20]; 3
4
5 cftool(x,y)
運行結果:
- 擬合類型中我們選擇polynominal(多項式),擬合階數選擇3,運行結果中可見R平方值高達0.94,屬於比較准確的.
方法三:指定函數擬合
1、已知數據
2、作出散點圖,觀察
3、擬合
運行結果: