回覆列表
  • 1 # 破案我嗎

    方法一、用資料擬合工具箱 Curve Fitting Tool

    開啟CFTOOL工具箱。在matlab的command window中輸入cftool,即可進入資料擬合工具箱。

    輸入兩組向量x,y。

    首先在Matlab的命令列輸入兩個向量,一個向量是你要的x座標的各個資料,另外一個是你要的y座標的各個資料。輸入以後假定叫x向量與y向量,可以在workspace裡面看見這兩個向量,要確保這兩個向量的元素數一致,如果不一致的話是不能在工具箱裡面進行擬合的。

    例如在命令列裡輸入下列資料:

    x = [196,186, 137, 136, 122, 122, 71, 71, 70, 33];

    y = [0.012605; 0.013115; 0.016866; 0.014741; 0.022353; 0.019278; 0.041803; 0.038026; 0.038128; 0.088196];

    左側results為擬合結果,下方表格為誤差等統計資料。

    方法二、用神經網路工具箱

    1、開啟神經網路工具箱,在command window內輸入nftool,進入Neural fitting tool

    4、訓練資料,點next,選train。

    5、繪製擬合曲線,訓練完成後電機plot fit

    訓練結果引數在訓練完後自動彈出

    神經網路工具箱可以用command寫,請搜尋關鍵字matlab 神經網路工具箱函式。

    方法三、用polyfit函式寫

    polyfit函式是matlab中用於進行曲線擬合的一個函式。其數學基礎是最小二乘法曲線擬合原理。曲線擬合:已知離散點上的資料集,即已知在點集上的函式值,構造一個解析函式(其圖形為一曲線)使在原離散點上儘可能接近給定的值。

    呼叫方法:a=polyfit(xdata,ydata,n),

    其中n表示多項式的最高階數,xdata,ydata為將要擬合的資料,它是用陣列的方式輸入。輸出引數a為擬合多項式 y=a1x^n+...+anx+a,共n+1個係數。

    %例程A=polyfit(x,y,2);z=polyval(A,x);plot(x,y,"r*",x,z,"b")

    方法四、自行寫演算法做擬合

    請參考數值分析教科書,擬合、插值方法較多,演算法並不複雜,靈活套用迴圈即可

  • 中秋節和大豐收的關聯?
  • 村衛生室是否屬於醫療機構?