1. 程式人生 > >Python之高等數學(導數,微分)

Python之高等數學(導數,微分)

在知乎上看到關於導數和微分的區別:https://www.zhihu.com/question/22199657

導數(Derivative),也叫導函式值。又名微商,是微積分中的重要基礎概念。當函式y=f(x)的自變數x在一點x0上產生一個增量Δx時,函式輸出值的增量Δy與自變數增量Δx的比值在Δx趨於0時的極限a如果存在,a即為在x0處的導數,記作f'(x0)或df(x0)/dx。

導數是函式的區域性性質。一個函式在某一點的導數描述了這個函式在這一點附近的變化率。如果函式的自變數和取值都是實數的話,函式在某一點的導數就是該函式所代表的曲線在這一點上的切線斜率。導數的本質是通過極限的概念對函式進行區域性的線性逼近。例如在

運動學中,物體的位移對於時間的導數就是物體的瞬時速度

設某質點從 0時刻沿直線運動, t時刻在直線上座標為 s,這樣質點運動由函式 s = f (t) 描述。那麼質點的平均速度 
那麼質點在 t0 的瞬時速度為 

 

 

 

微分在數學中的定義:由函式B=f(A),得到A、B兩個數集,在A中當dx靠近自己時,函式在dx處的極限叫作函式在dx處的微分,微分的中心思想是無窮分割。微分是函式改變數的線性主要部分。微積分的基本概念之一。

 

def f(x):
    return x**2
plt.figure(figsize=(12,6))
n = np.linspace(-10,10,num = 50)
plt.plot(n,f(n))
plt.xlim(-11,11)
plt.ylim(-10,110)
plt.plot([-5,f(-5)],[3,f(3)],color = "r")
print('直線斜率為%.2f' % ((f(3)-f(-5))/(3+5)))

#斜率
def ds(xm,offset):
    y = f(xm)
    y1 = f(xm+offset)
    return (y1-y)/offset
for i in np.linspace(1,0,num=100000,endpoint=False):
    print('偏移%.5f個單位距離時,斜率為:%.5f' % (i,ds(2,i)))
偏移0.00010個單位距離時,斜率為:4.00010
偏移0.00009個單位距離時,斜率為:4.00009
偏移0.00008個單位距離時,斜率為:4.00008
偏移0.00007個單位距離時,斜率為:4.00007
偏移0.00006個單位距離時,斜率為:4.00006
偏移0.00005個單位距離時,斜率為:4.00005
偏移0.00004個單位距離時,斜率為:4.00004
偏移0.00003個單位距離時,斜率為:4.00003
偏移0.00002個單位距離時,斜率為:4.00002
偏移0.00001個單位距離時,斜率為:4.00001
#斜率為4   點(2,4) 算出 y = 4x - 4
n = np.linspace(-10,10,num = 50)
plt.plot(n,f(n))
plt.xlim(-11,11)
plt.ylim(-10,110)

plt.scatter(2,f(2))
plt.plot(n,4*n-4)

連續求導
def f2(x):
    return x**4
def f2_(x):
    return 4*x**3
def f2__(x):
    return 12*x**2
def f2___(x):
    return 24*x
plt.figure(figsize = (12,6))
x = np.linspace(-10,10,num = 50)
plt.plot(x,f2(x))
plt.plot(x,f2_(x))
plt.plot(x,f2__(x))
plt.plot(x,f2___(x))