1. 程式人生 > 其它 >Matlab函式求導

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

 

Matlab函式求導教程 - 系統之家 (xitongzhijia.net)