用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')
函式圖形為:
x≥0,有導數的定義求右導數
當x≥0時,我們可以去掉函式中的絕對值,這時候函式f就變為:f(x)=sinx,這時候求右導數就簡單多了,不過還是得用定義發求右導數。具體程式碼以及計算結果請看下圖:
x≤0,由導數的定義求左導數
同理,當x≤0時,去掉函式中的絕對值,f就變為:f(x)=sin(-x).。用定義發求左導數。具體程式碼以及計算結果請看下圖,有圖上的結果再結合上一部結論可以得出,f(x)在x=0點的導數不存在,而且在小於0的區間和大於0的區間導數不一致。
直接利用diff求導
matlab提供了一個直接求函式導數的指令diff,然而當函式含有絕對值時候是否還有效呢?我們來探索一下。有下圖中可以看出,當x=0時,函式的導數出現了錯誤的結果。
畫出圖形程式碼
下面我們畫出函式f(x)、兩個區間分別的導數圖形。具體程式碼如下圖所示:
畫出的圖形如下圖所示:
注意事項
如果本經驗對你有幫助,記得點有用、收藏、評論哦!歡迎點選右邊,分享給好友!