天天看點

高等數學--高階導數與隐函數,參數方程(三)

高階導數

對于某些問題,一次導數也無法解決,比如變速直線運動的速度v(t)是位置函數s(t)對時間的導數:

v = ds/dt

而加速度a又是速度v對時間t的變化率,即

a = dv/dt

想求出a,必須先求出v,再對v求導:

a = d(ds/dt)/dt

這種導數就稱為s對t的二階導數,二階及二階以上的導數統稱高階導數。

例1 y=ax+b, y’=a,y’’ =0

隐函數

之前學習的函數都是屬于顯函數,隐函數就是把等式右側項移到左邊,形成F(x,y)=0結構。

自然,一個顯函數能轉換成隐函數,而一個隐函數大部分也能轉換成顯函數。

隐函數的顯化有時是困難的,甚至是不可能的。

為什麼需要這樣做?為什麼需要隐函數?

顯函數強調的是變量的關系,隐函數是為了強調方程形式。

我們在解決問題的時候,可能列出的恰好是方程形式,注意隐函數都是方程(二進制方程),而方程不一定是隐函數。

是以希望有一種方法,不管隐函數能否顯化,都能直接由它的方程算出它所對應的顯函數的導數來。

例1 求由方程 e^y+xy-e=0,所确定的隐函數導數dy/dx

解:這是一個隐函數,想顯化寫成y=f(x)形式比較困難,我們對方程兩邊同時對x求導。

左邊變成 d(e^y+xy-e)/dx

這裡使用matlab連續出錯,首先直接求導diff(e^y+xy-e)是錯誤的。

需要把y=y(x)帶入,然後嘗試:

syms x y
 f=exp(1)^y(x)+x*y(x)-exp(1);
           

錯誤!!

又嘗試:

f = sym(exp(1)^y(x)+x*y(x)-exp(1))
           

還是錯誤!!

又嘗試加上:

f = sym('exp(1)^y(x)+x*y(x)-exp(1)')
           

可以用了,不過得了一個警告

高等數學--高階導數與隐函數,參數方程(三)

答案肯定不對,思路徹底錯亂了,必須重新查詢資料。

隐函數求導,手算是把等式兩邊分别求導,比如e^y+x*y-e=0這個隐函數,

方法一

先是等式左邊求導,y是關于x的函數,y(x),要對x求導

clear
syms x y e
f = sym('e^y(x)+x*y(x)-e');%必備,把y=y(x)帶入,也做成符号表達式
diff(f,x)
           
高等數學--高階導數與隐函數,參數方程(三)
高等數學--高階導數與隐函數,參數方程(三)

再把結果中的y(x)換成y,diff(y(x), x)換成 dy/dx

最後結果是:

y+ x* (dy/dx) + e^y*(dy/dx)

和書本上一樣,方法一類似于筆算,一步一步的求解。

方法二

隐函數求導有一個公式: F’(x) = - diff(F,x)/diff(F,y),該隐函數必須寫成F(x,y)=0形式。

用公式能直接獲得最終結果。

clear
syms x y e
f = e^y+x*y-e;
dydx= -diff(f,x)/diff(f,y)
           
高等數學--高階導數與隐函數,參數方程(三)

因為這裡把e當成了符号,如果把e當自然對數,log(e)值為1,上式化簡就和書本上一樣了。

參數方程

計算參數方程的導數,形如

x=g(t)

y=w(t)

公式 dy/dx = (dy/dt) / (dx/dt)

例7 已知橢圓的參數方程為 x=acost y=bsint 求橢圓在t=π/4相應點的切線方程。

解:

想找切線方程,就是要求導數。

參數方程的導數根據公式,①求dy/dt ②求dx/dt ③兩者相除

clear
syms x y  a b t
 fy=b*sin(t);
 fx = a*cos(t);
diff(fy,t)/diff(fx,t)
           
高等數學--高階導數與隐函數,參數方程(三)

代入t=π/4

高等數學--高階導數與隐函數,參數方程(三)

導數為-b/a,于是切線方程為

y-y0 = -b/a*(x-x0)

而y0=bsin(pi/4),x0=acos(pi/4)

下:

y-b*sin(pi/4)==(-b/a)*(x-a*cos(pi/4))
           
高等數學--高階導數與隐函數,參數方程(三)

不好看啊,試試實時編輯器

高等數學--高階導數與隐函數,參數方程(三)

但是不知道怎麼化簡成書本上的答案。

查詢幫助,知道了simplify函數

simplify(expr,'Steps',30)
           

simplify通常使用内部簡化步驟,但你可以修改steps後面的值,來獲得不同的,通常更簡短的結果。

我實驗了10,還是不行,改成30就比較好了。

高等數學--高階導數與隐函數,參數方程(三)

simplify配合symunit還能進行機關符号簡化。

比如2小時走了5公裡,一共運動了3小時,額外再走了500米,求總路程。

一定不要忘記*号

u = symunit;
d = 5*u.km;
t = 2*u.hr;

expr = (d/t)*3*u.hr+500*u.m
S = simplify(expr)
           
高等數學--高階導數與隐函數,參數方程(三)

繼續閱讀