可以呼叫 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 階偏導。
可以呼叫 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 階偏導。