回覆列表
  • 1 # 使用者6847486145697

    這兩個函式是MATLAB中的內建函式,是基於梯形法則的數值積分公式,trapz其實就是Trapezoidal(梯形的簡寫)。

    使用方法如下:

    I=trapz(x,y)

    其中x和y分別是自變數和對應的值,例如我們有函式y=x^3-2x-3,為了計算在[0,1]上的積分,可以這麼做:

    >> format compact

    >> x=0:0.05:1;

    >> y=x.^3-2.*x-3;

    >> I=trapz(x,y)

    I =

    -3.7494

    我們知道這個函式是可以直接使用經典積分理論計算的,精確值為 -15/4=-3.75,誤差為0.016%

    可積函式用這個並沒有太大的意義,但是對於複雜的函式,使用起來就有用的多了。

    cumtrapz函式和trapz函式使用方法類似,但是返回的結果不一樣。

    前面的cum是cumulation的意思,也就是累積,相當於是不斷地從第一個值累積到當前的結果。

    還是以上面的函式為例:

    >> x=0:0.1:1;

    >> y=x.^3-2.*x-3;

    >> Z=cumtrapz(x,y)

    Z =

    0 -0.3100 -0.6395 -0.9878 -1.3532 -1.7337 -2.1267 -2.5287 -2.9360 -3.3440 -3.7475

    這幾個都是積分結果,下限都是x(0),也就是0,上限分別是0,0.1,0.2,一直到1.0

  • 中秋節和大豐收的關聯?
  • 過年了,你給自己的父母或者妻兒買了什麼禮物?