用MATLAB擬合一組資料,得到函式的表示式我的資料是
x=(9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39)
y=(9,12,18,21,12,26,29,36,50,101,192,245,233,117,28,9)
至於具體怎麼得到x與y的函式關係,在MATLAB上的具體操作,可能性太多,這組資料可以擬合出無數多種函式結果。
如果什麼函式形式都不給出的話,下面以11次多項式舉例來擬合你的資料:
1.用多項式擬合
p=polyfit(x,y,11)
xx=linspace(9,39,100)
yy=polyval(p,xx)
plot(x,y,"o");hold on
plot(xx,yy,"r");hold off
legend("資料","擬合","location","northwest");
title(poly2str(p,"x"));
2.如果是正態分佈
fun=@(p,x) p(1)*exp(-(x-p(2)).^2./2/p(3)^2);
p=nlinfit(x,y,fun,[250 32 10]);
xx=linspace(9,39,100);
yy=fun(p,xx);
plot(x,y,"o");hold on
plot(xx,yy,"r");hold off
legend("資料","擬合","location","northwest");
MATLAB是matrix&laboratory兩個詞的組合,意為矩陣工廠(矩陣實驗室)。MATLAB可以進行矩陣運算、繪製函式和資料、實現演算法、建立使用者介面、連線其他程式語言的程式等,主要應用於工程計算、控制設計、訊號處理與通訊、影象處理、訊號檢測、金融建模設計與分析等領域。
用MATLAB擬合一組資料,得到函式的表示式我的資料是
x=(9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39)
y=(9,12,18,21,12,26,29,36,50,101,192,245,233,117,28,9)
至於具體怎麼得到x與y的函式關係,在MATLAB上的具體操作,可能性太多,這組資料可以擬合出無數多種函式結果。
如果什麼函式形式都不給出的話,下面以11次多項式舉例來擬合你的資料:
1.用多項式擬合
x=(9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39)
y=(9,12,18,21,12,26,29,36,50,101,192,245,233,117,28,9)
p=polyfit(x,y,11)
xx=linspace(9,39,100)
yy=polyval(p,xx)
plot(x,y,"o");hold on
plot(xx,yy,"r");hold off
legend("資料","擬合","location","northwest");
title(poly2str(p,"x"));
2.如果是正態分佈
x=(9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39)
y=(9,12,18,21,12,26,29,36,50,101,192,245,233,117,28,9)
fun=@(p,x) p(1)*exp(-(x-p(2)).^2./2/p(3)^2);
p=nlinfit(x,y,fun,[250 32 10]);
xx=linspace(9,39,100);
yy=fun(p,xx);
plot(x,y,"o");hold on
plot(xx,yy,"r");hold off
legend("資料","擬合","location","northwest");
MATLAB是matrix&laboratory兩個詞的組合,意為矩陣工廠(矩陣實驗室)。MATLAB可以進行矩陣運算、繪製函式和資料、實現演算法、建立使用者介面、連線其他程式語言的程式等,主要應用於工程計算、控制設計、訊號處理與通訊、影象處理、訊號檢測、金融建模設計與分析等領域。