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)。