在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Python/ Scipy積分
Scipy積分
Scipy優(yōu)化算法
Scipy特殊包
Scipy簇聚
Scipy ODR
Scipy Ndimage
Scipy插值
Scipy CSGraph
Scipy輸入和輸出
Scipy開(kāi)發(fā)環(huán)境安裝
Scipy簡(jiǎn)介
Scipy常量
Scipy統(tǒng)計(jì)函數(shù)
Scipy Linalg
Scipy空間
Scipy FFTpack
Scipy基本功能
Scipy教程

Scipy積分

當(dāng)一個(gè)函數(shù)不能被分析積分,或者很難分析積分時(shí),通常會(huì)轉(zhuǎn)向數(shù)值積分方法。 SciPy有許多用于執(zhí)行數(shù)值積分的程序。 它們中的大多數(shù)都在同一個(gè)scipy.integrate庫(kù)中。 下表列出了一些常用函數(shù)。

編號(hào) 示例 描述
1 quad 單積分
2 dblquad 二重積分
3 tplquad 三重積分
4 nquad n倍多重積分
5 fixed_quad 高斯積分,階數(shù)n
6 quadrature 高斯正交到容差
7 romberg Romberg積分
8 trapz 梯形規(guī)則
9 cumtrapz 梯形法則累計(jì)計(jì)算積分
10 simps 辛普森的規(guī)則
11 romb Romberg積分
12 polyint 分析多項(xiàng)式積分(NumPy)
13 poly1d 輔助函數(shù)polyint(NumPy)

單積分

Quad函數(shù)是SciPy積分函數(shù)的主力。 數(shù)值積分有時(shí)稱為正交積分,因此稱為名稱。 它通常是在ab給定的固定范圍內(nèi)執(zhí)行函數(shù)f(x)的單個(gè)積分的默認(rèn)選擇。

quad的一般形式是scipy.integrate.quad(f,a,b),其中'f'是要積分的函數(shù)的名稱。 而'a''b'分別是下限和上限。 下面來(lái)看看一個(gè)高斯函數(shù)的例子,它的積分范圍是01。

首先需要定義這個(gè)函數(shù):

這可以使用lambda表達(dá)式完成,然后在該函數(shù)上調(diào)用四方法。

import scipy.integrate
from numpy import exp
f= lambda x:exp(-x**2)
i = scipy.integrate.quad(f, 0, 1)
print (i)

執(zhí)行上面示例代碼,得到以下結(jié)果 -

(0.7468241328124271, 8.291413475940725e-15)

四元函數(shù)返回兩個(gè)值,其中第一個(gè)數(shù)字是積分值,第二個(gè)數(shù)值是積分值絕對(duì)誤差的估計(jì)值。

注 - 由于quad需要函數(shù)作為第一個(gè)參數(shù),因此不能直接將exp作為參數(shù)傳遞。 Quad函數(shù)接受正和負(fù)無(wú)窮作為限制。 Quad函數(shù)可以積分單個(gè)變量的標(biāo)準(zhǔn)預(yù)定義NumPy函數(shù),如exp,sincos

多重積分

雙重和三重積分的機(jī)制已被包含到函數(shù)dblquad,tplquadnquad中。 這些函數(shù)分別積分了四個(gè)或六個(gè)參數(shù)。 所有內(nèi)積分的界限都需要定義為函數(shù)。

雙重積分

dblquad的一般形式是scipy.integrate.dblquad(func,a,b,gfun,hfun)。 其中,func是要積分函數(shù)的名稱,'a''b'分別是x變量的下限和上限,而gfunhfun是定義變量y的下限和上限的函數(shù)名稱。

看看一個(gè)執(zhí)行雙重積分方法的示例。

使用lambda表達(dá)式定義函數(shù)f,gh。 請(qǐng)注意,即使gh是常數(shù),它們可能在很多情況下必須定義為函數(shù),正如在這里為下限所做的那樣。

import scipy.integrate
from numpy import exp
from math import sqrt
f = lambda x, y : 16*x*y
g = lambda x : 0
h = lambda y : sqrt(1-4*y**2)
i = scipy.integrate.dblquad(f, 0, 0.5, g, h)
print (i)

執(zhí)行上面示例代碼,得到以下結(jié)果 -

(0.5, 1.7092350012594845e-14)

除上述例程外,scipy.integrate還有許多其他積分的程序,其中包括執(zhí)行n次多重積分的nquad以及實(shí)現(xiàn)各種集成算法的其他例程。 但是,quaddblquad將滿足對(duì)數(shù)值積分的大部分需求。


上一篇:Scipy插值下一篇:Scipy簇聚