用Python學《微積分B》(換元法與分部積分)

2021-08-07 13:02:09 字數 3982 閱讀 7072

1,換元法

換元法主要是根據「積分形式不變性」,通過「替換被積變數」的方式將「被積函式」轉換為「積分表」中的函式及其組合,待求出原函式之後,再將變數替換回來的求積分的方法。

1)復合函式換元法(第一類換元法)

復合函式換元法主要是利用復合函式微分來進行「湊微分」,即將「微分符」外面的東西變到「微分符」裡面。其關鍵點是要找到合適的中間變數u=

u(x)

,使得 : ∫f

(x)d

x=∫g

(u)d

u=g(

u)+c

=g[u

(x)]

+c例: ∫t

an(x

)dx=

∫sin

(x)c

os(x

)dx=

−∫d[

cos(

x)]c

os(x

)=−l

n|co

s(x)

|+c

2)反函式換元法(第二類換元法)

反函式換元法與復合函式換元法剛好相反,它需要做的是將「微分符」裡面的東西變到「微分符」外面。其關鍵點是找到新變數t,使得x=

φ(t)

,積分過程如下: ∫f

(x)d

x=∫f

[φ(t

)]d[

φ(t)

]=∫f

[φ(t

)]∗φ

′(t)

dt=g

[φ−1

(x)]

+c最後又要用反函式將x替換回來

例: ∫1x

2−a2

−−−−

−−√d

x=?w

hena

>

0

解:令se

c(t)

=xa ,則ta

n(t)

=sec

2(t)

−1−−

−−−−

−−−√

=1ax

2−a2

−−−−

−−√ ,代入上式得 ∫1

x2−a

2−−−

−−−√

dx=l

n|xa

+x2−

a2−−

−−−−

√a|+

c

1,分部積分法

分部積分法是從「函式乘積的微分」,即d(

u∗v)

=udv

+vdu

,推導出來的一種求積分的方法。如果說「換元法」是將微分符外面的東西變到微分符裡面,或反過來;那麼「分部積分法」則是直接交換微分符裡面和外面的東西。 ∫u

dv=u

v−∫v

du或∫

u(x)

v′(x

)dx=

u(x)

v(x)

−∫v(

x)u′

(x)d

x

分部積分法主要是將「求函式的積分轉變為求導函式的積分」(又是「降維」的方法),所以主要應用於這兩種情況:一是函式的比較複雜,而它的導數比較簡單,比如:ln x、arctan(x)、arcsin(x)等;二是函式與導數差不多的情況,比如:ex

、sin(x)、cos(x)等。

例: ∫x2

ln(x

)dx=

x33∗

ln(x

)−∫x

33d(

ln(x

))=x

33∗l

n(x)

−∫x3

3∗1x

dx∫x

2e−2

xdx=

∫x2d

[e−2

x−2]

=−12

x2e−

2x+∫

xe−2

xdx

從上面這兩個例題的推導過程來看,分部積分法實際上是一種「遞迴」(recursion)演算法。 ∫e

xsin

(x)d

x=ex

sin(

x)−∫

exco

s(x)

dx=e

xsin

(x)−

exco

s(x)

−∫ex

sin(

x)dx

上式是一種特殊的遞迴,通過兩次分部積分,又得到了自身,故,它的遞迴結束條件是重回自身。

換元法:

3,求積分∫e

−|x|

dx解:包含絕對值的積分式,不能用python直接解。可以將它分段表示,再用「湊微分法」求解,最後取x=0點連續,求出共同的常數c。 ∫e

−|x|

dx={

−e−x

+cex

−2+c

x≥0x

<

0

下面再給出5-10題的python求解過程(注,對於「換元」,sympy.subs函式給與了很好的支援):

from sympy import *

init_printing()

#exercise 3

x = symbol('x')

integrate(exp(-abs(x)), x), integrate(exp(-x), x), integrate(exp(x), x)

(∫

e−|x

|dx,

−e−x

,ex)

#exercise 5

x = symbol('x')

f = log(x) / x ** 2

f, integrate(f, x)

(1

x2log(x)

,−1x

log(x)

−1x)

#exercise 6

x = symbol('x')

df = exp(-x).diff(x)

g = df.subs(x, log(x))

g, integrate(g / x, x)

(−

1x,1

x)

#exercise 7

x = symbol('x')

f = x ** 2

f = f.diff(x)

g = f.subs(x, 1 - x ** 2)

f, g, integrate(x * g, x)

(2

x,−2

x2+2

,−x4

2+x2

)

#exercise 8

x = symbol('x')

f = x / (1 - x) ** 3

f, integrate(f, x)

(x

(−x+

1)3,

2x−1

2x2−

4x+2

)

#exercise 9

x, u = symbols('x u')

f = u / (1 + u ** 4)

gu = integrate(f, u)

f, gu, gu.subs(u, sin(x))

(u

u4+1

,12atan(u

2),1

2atan

(sin2(

x)))

#exercise 10

x = symbol('x')

f = 2 ** x + x ** 2

f, integrate(f, x)

(2

x+x2

,2xlog(2

)+x3

3)

B 微積分 Sigmoid函式

目錄更新 更全的 機器學習 的更新 更有python go 資料結構與演算法 爬蟲 人工智慧教學等著你 sigmoid函式詳解圖例 import numpy as np import matplotlib.pyplot as plt ax plt.subplot 111 ax.spines righ...

B 微積分 sign 符號 函式

目錄更新 更全的 機器學習 的更新 更有python go 資料結構與演算法 爬蟲 人工智慧教學等著你 sign函式也稱作符號函式,當x 0的時候y 1 當x 0的時候y 0 當x 0的時候y 1。sign函式公式為y 1,x 00 x 0 1,x 0 role presentation style...

微積分學的發現

回顧歷史,1672年,26歲的 小毛頭 萊布尼茲 leibniz,1646 1716 在惠更斯的指點下,轉向數學研究,在閱讀帕斯卡數學著作,受到啟發。在笛卡爾直角座標系下,萊布尼茲發現,給定乙個曲邊梯形,面積為s,將其無限分割為豎形直方形,底邊寬度為 x 無窮小 高度為f,那麼,存在以下相等關係 i...