人工智能-高等數學之微積分篇

高等數學之微積分篇

接着上一篇《人工智能-高等數學之導數篇》,繼續學習彙總微積分的知識,微分和導數外形很相似,導致有時候傻傻的分不清楚,在查找無數資料之後我找到了一個能夠被理解的說法,導數是函數圖像在某一點處的斜率,是縱座標增量(Δy)和橫座標增量(Δx)在Δx–>0時的比值。而微分是指函數圖像在某一點處的切線在橫座標取得增量Δx以後,縱座標取得的增量,一般表示爲dy。積分是微分的逆運算,即知道了函數的導函數,反求原函數。還有一種簡要的概括說法,導數描述的是函數在一點處的變化快慢的趨勢,是一個變化的速率,微分描述的是函數從一點(移動一個無窮小量)到另一點的變化幅度,是一個變化的量

1. 微分的定義

數學定義:設函數y=f(x)y=f(x)在某區間內有定義,x0x_0x0+Δxx_0+\Delta x在這區間內,如果增量Δy=f(x0+Δx)f(x0)\Delta y=f(x_0+\Delta x)-f(x_0)可以表示爲Δy=AΔx+o(Δx)\Delta y=A\Delta x+o(\Delta x),其中A是不依賴於Δx\Delta x的常數,那麼稱函數y=f(x)y=f(x)在點x0x_0是可微的,而AΔxA\Delta x叫做函數y=f(x)y=f(x)在點x0x_0相應於自變量增量Δx\Delta x的微分,記作dy,即dy=AΔxdy=A\Delta x

2. 微分系數和導函數

f(x)f(x)是定義在區間II上的函數,如果a是區間II內的一點,那麼f(x)f(a)xa\frac{f(x)-f(a)}{x-a}是定義在區間II內除了a以外的x點上的函數,此時如果存在極限:
limxaf(x)f(a)xa \lim _{x\rightarrow a}\frac{f(x)-f(a)}{x-a}, ,那麼就稱f(x)f(x)在點a處可微,或者稱在x=a處可微,並稱此極限爲函數f(x)f(x)在點a處的微分系數,記爲f(a)f^\prime (a)
f(a)=limxaf(x)f(a)xa f^\prime (a)=\lim _{x\rightarrow a}\frac{f(x)-f(a)}{x-a},
當函數f(x)f(x)在所屬區間內的任意點xx處均可微時,則稱函數f(x)f(x)可微,或稱f(x)f(x)關於x可微。此時f(x)f^\prime (x)也是定義在區間II上的關於x的函數。稱f(x)f^\prime(x)爲函數f(x)f(x)導函數,求函數f(x)f(x)的導函數f(x)f^\prime (x),稱爲對函數f(x)f(x)進行微分,或函數f(x)f(x)關於x進行微分。
所以在數學表達上,如果對於函數y=f(x)y=f(x),存在dy=f(x)dxdy=f^\prime (x)dx,稱dydyyy的微分或f(x)f(x)的微分。
萊布尼茨對導數的記法:

f(x)=dydxdyf(x)dxf^\prime (x)= \frac{dy}{dx} \Rightarrow dy \Rightarrow f^\prime (x) dx

從中我們可以看出,導數是yy的微分與xx微分的比值,所以導數也叫做微商(兩個微分的商)

給出原始公式,如下:
dydx=limΔx0ΔyΔx=limΔx0f(x0+Δx)f(x0)Δx \frac{dy}{dx}=\lim_{\Delta x \rightarrow 0}\frac{\Delta y}{\Delta x}=\lim_{\Delta x \rightarrow 0}\frac{f(x_0+\Delta x)-f(x_0)}{\Delta x}

3. 初等函數的微分公式

導數公式 微分公式
(nx)=n,nR(nx)^\prime=n,n \in R d(nx)=ndx,nRd(nx)=ndx,n \in R
(xn)=nxn1,nR(x^n)^\prime=nx^{n-1},n \in R d(xn)=nxn1dx,nRd(x^n)=nx^{n-1}dx,n \in R
(sinx)=cosx(\sin x)^\prime=\cos x d(sinx)=cosxdxd(\sin x)=\cos xdx
(cosx)=sinx(\cos x)^\prime=-\sin x d(cosx)=sinxdxd(\cos x)=-\sin xdx
(ax)=axlna(a^x)^\prime=a^x\ln a d(ax)=axlnadxd(a^x)=a^x\ln a dx

4. 函數和差積商的微分法則

和差積商的 求導法則 和差積商的 微分法則
(u±v)=u±v(u\pm v)^\prime=u^\prime \pm v^\prime d(u±v)=du±dvd(u\pm v)=du \pm dv
(uv)=uv+uv(uv)^\prime=u^\prime v+uv^\prime d(uv)=duv+udvd(uv)=duv+udv
(Cv)=Cv(Cv)^\prime=Cv^\prime d(Cv)=Cdvd(Cv)=Cdv
(uv)=(uvuv)v2(\frac{u}{v})^\prime =\frac{(u^\prime v-uv^\prime)}{v^2} d(uv)=(duvudv)v2d(\frac{u}{v}) =\frac{(du v-udv)}{v^2}

5. 不定積分與定積分

根據牛頓-萊布尼茨公式,許多函數的定積分的計算就可以簡便地通過求不定積分來進行。這裏要注意不定積分與定積分之間的關係:定積分是一個數,而不定積分是一個表達式,它們僅僅是數學上有一個計算關係。一個函數,可以存在不定積分,而不存在定積分,也可以存在定積分,而沒有不定積分。

5.1 不定積分

如果有一個關於x的函數G(x),g(x)是G(x)的導數,即,G(x)=g(x)G^\prime(x)=g(x),則式子 G(x)=g(x)dxG(x)=\int g(x)dx 稱爲g(x)dx的不定積分,其中g(x)dx是G(x)的微分,對微分的積分是原函數,所以微分和積分互爲反函數。所以求解不定積分的方法就是將導數逆推。例如:
sinxdx=\int \sin x dx=?,如果 G(x)=cosxG(x)=- \cos x,則 G(x)=sinxG^\prime (x)=\sin x,所以 sinxdx=cosx+C\int \sin x dx=- \cos x+C,其中C是一個任意常數,因爲C不確定大小,它是不定的,不是一個確切的函數,所以才叫做不定積分。

5.2 定積分

數學定義:設函數f(x)在[a,b]上有界,在[a,b]中任意插入若干個分點a<x0<x1<x2<<xn1<xn=ba<x_0<x_1<x_2< \cdots<x_{n-1}<x_n=b,把區間[a,b]分成n個小區間 [x0,x1],[x1,x2],,[xn1,xn][x_0,x_1],[x_1,x_2],\cdots,[x_{n-1},x_n] ,各個小區間的長度依次爲 Δx1=x1x0,Δx2=x2x1,,Δxn=xnxn1\Delta x_1=x_1-x_0,\Delta x_2=x_2-x_1,\cdots,\Delta x_n=x_n-x_{n-1},在每個小區間[xi1,xi][x_{i-1},x_i] 上取任意一點 ξ(xi1ξixi)\xi(x_{i-1}\leq\xi_i\leq x_i),作函數值f(ξ)f(\xi) 與小區間長度 Δxi\Delta x_i 的乘積f(ξ)Δxi(i=1,2,3,,n)f(\xi)\Delta x_i,(i=1,2,3,\cdots,n),並作出和
S=i=1nf(ξi)Δxi(1) S=\sum_{i=1}^nf(\xi_i)\Delta x_i \tag1
λ=max{Δx1,Δx2,,Δxn}\lambda=max\{\Delta x_1,\Delta x_2,\cdots,\Delta x_n\},如果不論對[a,b]怎樣劃分,也不論在小區間 [xi1,xi][x_{i-1},x_i] 上的點 ξ\xi 怎樣選取,只要當 λ0\lambda \rightarrow0 時,和S總趨於確定的極限II,那麼稱這個極限II 爲函數 f(x)f(x) 在區間 [a,b] 上的定積分,簡稱積分,記作 abf(x)dx\int_a^bf(x)dx,即

abf(x)dx=I=limλ0i=1nf(ξi)Δxi(2) \int_a^bf(x)dx=I=\lim_{\lambda \rightarrow0}\sum_{i=1}^nf(\xi_i)\Delta x_i \tag2
其中f(x)叫做被積函數,f(x)dx叫做被積表達式,x 叫做積分變量,a叫做積分下限,b叫做積分上限,[a,b] 叫做積分區間。

6. python計算代碼

手算太累了,還是交給Python吧,它擅長這個。

import sympy as sp

if __name__ == '__main__':

    # 定義自變量x,表示對x求導
    x = sp.symbols('x', real=True)
    f1 = 2 * x + 1
    derivative = sp.diff(f1, x)
    print('f1=%s' % derivative)
    f2 = x ** 2 + 4
    derivative = sp.diff(f2, x)
    print('f2=%s' % derivative)
    f3 = sp.sin(x)
    derivative = sp.diff(f3, x)
    print('f3=%s' % derivative)
    # 求高階導數
    f4 = x ** 10
    for n in range(1, 12):
        # 計算n階導數
        D = sp.diff(f4, x, n)
        print('D%d=%s' % (n, D))

    # 定義被積函數
    fx1 = x ** 2
    fx2 = sp.cos(x)
    fx3 = 1 / (1 + x ** 2)

    # 計算不定積分
    r1 = sp.integrate(fx1, x)
    r2 = sp.integrate(fx2, x)
    r3 = sp.integrate(fx3, x)
    print('∫ x^2dx=%s' % r1)
    print('∫ cosx dx=%s' % r2)
    print('∫ 1/(1+x^2)dx=%s' % r3)

    # 求解定積分
    fx4 = sp.sqrt(4 - x**2) / 2
    r4 = sp.integrate(fx4, (x, -2, 2))
    print('∫a->bsqrt(4-x^2)/2dx=%s' % r4)

運行結果:
運行結果

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章