如何用matlab求帶絕對值函式的導數??

用matlab求函式的導數:如果一個函式表示式中有絕對值,那對該函式求導就需要注意啦!該函式可能在他的零點處導數不存在,所以我們不能用傳統的方法求導,應該在零點處分別求左導數和右導數,如果左導數和右導數存在並相等則該點的導數存在,否則該點導數不存在。

下面我們就來說一下如何用matlab求帶絕對值函式的導數。

如何用matlab求帶絕對值函式的導數?

工具/原料

matlab軟體

可正常執行的電腦

方法/步驟

判斷函式的性質

下面我們就以帶絕對值的正選函式f(x)=sin x 為例來求導。先來判斷一下一下該函式的性質。我們先用matlab畫一下該函式的圖形,具體程式碼如下:

%畫出f(x)=sin x 圖形

clear

x=-2*pi:pi/20:2*pi;

y=sin(abs(x));

plot(x,y,'r','LineWidth',1.5)

title('函式f(x)=sin x 圖形'),xlabel('x'),ylabel('y')

函式圖形為:

如何用matlab求帶絕對值函式的導數?

x≥0,有導數的定義求右導數

當x≥0時,我們可以去掉函式中的絕對值,這時候函式f就變為:f(x)=sinx,這時候求右導數就簡單多了,不過還是得用定義發求右導數。具體程式碼以及計算結果請看下圖:

如何用matlab求帶絕對值函式的導數?

x≤0,由導數的定義求左導數

同理,當x≤0時,去掉函式中的絕對值,f就變為:f(x)=sin(-x).。用定義發求左導數。具體程式碼以及計算結果請看下圖,有圖上的結果再結合上一部結論可以得出,f(x)在x=0點的導數不存在,而且在小於0的區間和大於0的區間導數不一致。

如何用matlab求帶絕對值函式的導數?

直接利用diff求導

matlab提供了一個直接求函式導數的指令diff,然而當函式含有絕對值時候是否還有效呢?我們來探索一下。有下圖中可以看出,當x=0時,函式的導數出現了錯誤的結果。

如何用matlab求帶絕對值函式的導數?

畫出圖形程式碼

下面我們畫出函式f(x)、兩個區間分別的導數圖形。具體程式碼如下圖所示:

如何用matlab求帶絕對值函式的導數?

畫出的圖形如下圖所示:

如何用matlab求帶絕對值函式的導數?

注意事項

如果本經驗對你有幫助,記得點有用、收藏、評論哦!歡迎點選右邊,分享給好友!

函式, 絕對值, 導數, 零點, 右導數,
相關問題答案