numpy基礎 part14 積分

2021-10-04 13:46:33 字數 2776 閱讀 5027

學習筆記,這個筆記以例子為主。

開發工具:spyder

import scipy.integrate as si

# 利用quad求積分 給出函式f,積分下限與積分上限[a, b] 返回(積分值,最大誤差)

area = si.quad(f, a, b)

#返回值為乙個陣列,第乙個值為積分值,第二個為誤差

在[-5, 5]區間繪製二次函式 y = 3x2 + 2x + 1的曲線,並利用積分計算原理和numpy自帶函式分別求積分。

構建函式,並建立x與y點集,繪製積分圖:

import numpy as np

import matplotlib.pyplot as mp

import matplotlib.patches as mc

deff

(x):

return

3* x **2+

3* x +

1a, b =-5

,5n =500

x1 = np.linspace(a, b, n +1)

y1 = f(x1)

mp.figure(

'integral'

, facecolor=

'lightgray'

)mp.title(

'integral'

, fontsize=20)

mp.xlabel(

'x', fontsize=14)

mp.ylabel(

'y', fontsize=14)

mp.grid(linestyle=

':')

mp.plot(x1, y1, c=

'orangered'

, linewidth=

6, zorder=0)

mp.show(

)

影象:

利用梯形計算定積分,並利用小梯形填充積分圖:

import numpy as np

import matplotlib.pyplot as mp

import matplotlib.patches as mc

deff

(x):

return

3* x **2+

3* x +

1a, b =-5

,5n =500

x1 = np.linspace(a, b, n +1)

y1 = f(x1)

area =

0for i in

range

(n):

area +=

(y1[i]

+ y1[i +1]

)*(x1[i +1]

- x1[i])/

2print

(area)

mp.figure(

'integral'

, facecolor=

'lightgray'

)mp.title(

'integral'

, fontsize=20)

mp.xlabel(

'x', fontsize=14)

mp.ylabel(

'y', fontsize=14)

mp.grid(linestyle=

':')

mp.plot(x1, y1, c=

'orangered'

, linewidth=

6, zorder=0)

for i in

range

(n):

mp.gca(

).add_patch(mc.polygon(

[[x1[i],0

],[x1[i]

, y1[i]],

[x1[i +1]

, y1[i +1]

],[x1[i +1]

,0]]

, fc=

'deepskyblue'

, ec=

'dodgerblue'

, alpha=

0.5)

)mp.show(

)

備註:add_patch()表示補丁,也可以說是在影象中繪製任意多邊形;mc.ploygon(點1, 點2, 點3,…)表示構建以點1, 點2, 點3,…為頂點的多邊形

結果(積分值):

260.002
由小梯形原理,計算得到的積分值為260.002

影象:

利用api計算積分值:

**:

import numpy as np

import scipy.integrate as si

deff

(x):

return

3* x **2+

3* x +

1a, b =-5

,5area = si.quad(f, a, b)

print

(area)

結果:

(260.0, 2.886579864025407e-12)
積分值為260.

Part1 資料系統基礎

前四章講述應用於所有資料系統的基本理念,不論是執行在單機還是分布式的機器集群上。第一章介紹我們將要使用的術語和方法。解釋 可靠性 可擴充套件性和可維護性 的具體含義,以及我們如何去達到這些目標。第二章對比若干種不同的資料模型和查詢語言,從開發者角度是不同資料庫間最明顯的區分因素。我們可以看到不同的資...

makefile教程(基礎) part1

target.prerequisites command 解釋 target 是乙個目標檔案,也可以是執行檔案,還可以是乙個標籤 label prerequisites 要生成那個target所需要的檔案或是目標。command make需要執行的命令。任意的shell命令 main main.o ...

部落格推薦 Part 1

部落格推薦 part 1 博起 了一年多了,寫過一百多篇博文,看過的博文更是不計其數。剛剛看到乙個部落格的文章,實在把我笑到不行。然後就想推薦給大家。繼而就心血來潮,想把自己喜歡的一些部落格陸續的推薦給大家。也許,你也會喜歡呢?說明 仙仙,本名張仙!是湖南的一位autoware兄弟,跟我一起混跡內蒙...