回覆列表
  • 1 # 陽光魯寧

    MATLAB軟體提供了基本的曲線擬合函式的命令.

    1 多項式函式擬合:a=polyfit(xdata,ydata,n)

    其中n表示多項式的最高階數,xdata,ydata為將要擬合的資料,它是用陣列的方式輸入.輸出引數a為擬合多項式 的係數

    多項式在x處的值y可用下面程式計算.

    y=polyval(a,x)

    2 一般的曲線擬合:p=curvefit(‘Fun’,p0,xdata,ydata)

    其中Fun表示函式Fun(p,data)的M函式檔案,p0表示函式的初值.curvefit()命令的求解問題形式是

    若要求解點x處的函式值可用程式f=Fun(p,x)計算.

    例如已知函式形式 ,並且已知資料點 要確定四個未知引數a,b,c,d.

    使用curvefit命令,資料輸入 ;初值輸 ;並且建立函式 的M檔案(Fun.m).若定義 ,則輸出

    又如引例的求解,MATLAB程式:

    t=[l:16]; %資料輸人

    y=[ 4 6.4 8 8.4 9.28 9.5 9.7 9.86 10.2 10.32 10.42 10.5 10.55 10.58 10.6] ;

    plot(t,y,’o’) %畫散點圖

    p=polyfit(t,y,2) (二次多項式擬合)

    計算結果:

    p=-0.0445 1.0711 4.3252 %二次多項式的係數

    由此得到某化合物的濃度y與時間t的擬合函式。

    之後計算每個資料點(x,y0)和擬合直線對應點(x,y1)的誤差|y1-y0|,其中的最大值就是最大偏差

  • 中秋節和大豐收的關聯?
  • 單晶冰糖和多晶冰糖有什麼區別呢?黃冰糖和白冰糖區別呢?