Matlab函式求導
Matlab函式求導
1.一階導數
diff(f(x))
首先我們從最簡單的一階單變數函式進行求導,我們以f(x)=sin(x)+x^2 為例,進行示例介紹,在Matlab中,按照以下次序輸入命令。
說明:
(1)syms x代表著宣告符號變數x,只有聲明瞭符號變數才可以進行符號運算,包括求導。
(2)f(x)=sin(x)+x^2 ,就是我們輸入的要求導的函式。
(3)diff(f(x)),代表著對單變數函式求一階導數。
(4)pretty(ans),將當前變數顯示為我們常用的書面形式。
從以上結果我們可以看出,f(x)=2x+cos(x)。
2、n階導數
diff(f(x),n)
我們還是以f(x)=sin(x)+x^2 為例,進行示例介紹,在Matlab中,按照以下次序輸入命令。
可以看到,f(x)=2-sin(x),N我們可以根據實際需要,取任意正整數。
3、對含有M個變數的函式求偏導數
diff(f(x1,x2,。。。。。),xi)
我們以函式f(x1,x2,x3)=sin(x1)+x2^2+exp(x3)為例進行介紹。
在Matlab主視窗中依次輸入以下命令。
我們可以看到,對於多元函式,我們需要將每一個變數宣告為符號變數,如上,我們需要將x1,x2,x3宣告為符號變數。然後diff(f(x1,x2,x3),x2) 的意思是對x2求一階偏導,結果為2*x2。
4、對多元函式的某一個變數求N階偏導數
diff(f(x1,x2,。。。。。),xi,N)
我們還是以函式f(x1,x2,x3)=sin(x1)+x2^2+exp(x3)為例進行介紹。在MATLAB主視窗中依次輸入以下命令。
我們可以看到,對x1進行求3階數偏導數,可以看到sin(x1)的3階導數為-cos(x1)。