回覆列表
  • 1 # 使用者124311596575

    用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可以進行矩陣運算、繪製函式和資料、實現演算法、建立使用者介面、連線其他程式語言的程式等,主要應用於工程計算、控制設計、訊號處理與通訊、影象處理、訊號檢測、金融建模設計與分析等領域。

  • 中秋節和大豐收的關聯?
  • 為什麼我昨晚會夢見和她擁抱在一起呢?