首頁>Club>
18
回覆列表
  • 1 # 使用者2020809458929

    可以呼叫 diff 函式求導。

    舉例說明:

    先定義符號 x、y 以及符號二元函式表示式 z,然後呼叫 diff 函式求偏導,程式碼如下:

    clc;clear;

    syms x y

    z=x^2+y^2+exp(x*y);

    z_x=diff(z,x,1)

    z_y=diff(z,y,1)

    z_x2=diff(z,x,2)

    z_y2=diff(z,y,2)

    z_xy=diff(z,x,y)

    結果如下:

    z_x =

    2*x + y*exp(x*y)

    z_y =

    2*y + x*exp(x*y)

    z_x2 =

    y^2*exp(x*y) + 2

    z_y2 =

    x^2*exp(x*y) + 2

    z_xy =

    exp(x*y) + x*y*exp(x*y)

    圖中呼叫了5次diff函式,分別計算了 z 對 x 的一階偏導,z 對 y 的一階偏導,z 對 x 的二階偏導,z 對 y 的二階偏導,以及 z 對 x,y 都求一次偏導。

    例子中所用的呼叫格式為: diff(f,var,n)

    f 為符號表達式,也可以是符號函式(這個資料型別低版本的matlab沒有)。n 為求導次數,預設為1。var 為求導的符號變數,可以預設(matlab會根據表示式自己選擇一個),但不建議預設,除非表示式只含有一個符號變數。

    此外,matlab還允許 diff(f,n,var)與 diff(S,v1,v2,...,vn)的呼叫形式。

    diff(f,v1,v2,...,vn) 會把表示式 f 對變數 v1,v2 等 n 個變數都求一次偏導,得到 f 的 n 階偏導。

  • 中秋節和大豐收的關聯?
  • 夢到三次同一個事物,是不是代表很思念那個事物?