π’ ΠΠ°ΠΊ ΡΠ°ΡΡΡΠΈΡΠ°ΡΡ ΠΏΠ»ΠΎΡΠ°Π΄Ρ ΠΏΠΎΠ΄ Π³ΡΠ°ΡΠΈΠΊΠΎΠΌ Π² Python Ρ Π»Π΅Π³ΠΊΠΎΡΡΡΡ
ΠΠ°ΠΊ ΠΏΠΎΡΡΠΈΡΠ°ΡΡ ΠΏΠ»ΠΎΡΠ°Π΄Ρ ΠΏΠΎΠ΄ Π³ΡΠ°ΡΠΈΠΊΠΎΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Python?
ΠΠ»Ρ ΡΠ°ΡΡΠ΅ΡΠ° ΠΏΠ»ΠΎΡΠ°Π΄ΠΈ ΠΏΠΎΠ΄ Π³ΡΠ°ΡΠΈΠΊΠΎΠΌ Π²Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° matplotlib. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°:
import matplotlib.pyplot as plt
import numpy as np
# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π΄Π°Π½Π½ΡΠ΅ Π΄Π»Ρ Π³ΡΠ°ΡΠΈΠΊΠ°
x = np.linspace(0, 10, 100)
y = np.sin(x)
# ΠΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌ Π³ΡΠ°ΡΠΈΠΊ
plt.plot(x, y)
# ΠΠ°Ρ
ΠΎΠ΄ΠΈΠΌ ΠΏΠ»ΠΎΡΠ°Π΄Ρ ΠΏΠΎΠ΄ Π³ΡΠ°ΡΠΈΠΊΠΎΠΌ
area = np.trapz(y, x)
print(f"ΠΠ»ΠΎΡΠ°Π΄Ρ ΠΏΠΎΠ΄ Π³ΡΠ°ΡΠΈΠΊΠΎΠΌ: {area}")
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ Π³ΡΠ°ΡΠΈΠΊ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ matplotlib, Π° Π·Π°ΡΠ΅ΠΌ Π½Π°ΡΠ»ΠΈ ΠΏΠ»ΠΎΡΠ°Π΄Ρ ΠΏΠΎΠ΄ Π³ΡΠ°ΡΠΈΠΊΠΎΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ np.trapz(). Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΠ»ΠΎΡΠ°Π΄ΠΈ Π±ΡΠ΄Π΅Ρ Π²ΡΠ²Π΅Π΄Π΅Π½ Π½Π° ΡΠΊΡΠ°Π½. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ matplotlib ΠΈ numpy.
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ ΠΏΠΎΡΡΠΈΡΠ°ΡΡ ΠΏΠ»ΠΎΡΠ°Π΄Ρ ΠΏΠΎΠ΄ Π³ΡΠ°ΡΠΈΠΊΠΎΠΌ Π² Python
ΠΠΎΠ±ΡΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°ΡΡ! Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ Π²ΡΡΠΈΡΠ»ΠΈΡΡ ΠΏΠ»ΠΎΡΠ°Π΄Ρ ΠΏΠΎΠ΄ Π³ΡΠ°ΡΠΈΠΊΠΎΠΌ Π² Python. ΠΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½ΡΡ ΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ ΠΏΠΎΠ΄ Π³ΡΠ°ΡΠΈΠΊΠΎΠΌ. ΠΠ°Π²Π°ΠΉΡΠ΅ Π½Π°ΡΠ½Π΅ΠΌ!
1. Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΏΠ»ΠΎΡΠ°Π΄Ρ ΠΏΠΎΠ΄ Π³ΡΠ°ΡΠΈΠΊΠΎΠΌ?
ΠΠ»ΠΎΡΠ°Π΄Ρ ΠΏΠΎΠ΄ Π³ΡΠ°ΡΠΈΠΊΠΎΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΏΠ»ΠΎΡΠ°Π΄Ρ, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΡ Π³ΡΠ°ΡΠΈΠΊΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΎΡΡΡ x. ΠΡΠ° ΠΏΠ»ΠΎΡΠ°Π΄Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°Π»ΠΎΠ² ΠΈΠ»ΠΈ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΠ»ΠΎΡΠ°Π΄ΠΈ ΠΏΠΎΠ΄ ΠΊΡΠΈΠ²ΠΎΠΉ.
2. ΠΠΌΠΏΠΎΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ
ΠΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΌΡ Π½Π°ΡΠ½Π΅ΠΌ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ, ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³ΡΡ Π½Π°ΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π³ΡΠ°ΡΠΈΠΊΠ°ΠΌΠΈ ΠΈ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠΌΠΈ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ matplotlib ΠΈ numpy. ΠΡΠ»ΠΈ Π²Ρ Π΅ΡΠ΅ Π½Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ ΡΡΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ:
!pip install matplotlib
!pip install numpy
3. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π³ΡΠ°ΡΠΈΠΊΠ°
ΠΠΎΡΠ»Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΈΡΡΡΠΏΠΈΡΡ ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π³ΡΠ°ΡΠΈΠΊΠ°. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π½Π°ΠΌ ΠΏΠΎΡΡΡΠΎΠΈΡΡ Π³ΡΠ°ΡΠΈΠΊ ΡΡΠ½ΠΊΡΠΈΠΈ y = f(x):
import matplotlib.pyplot as plt
import numpy as np
# ΠΠ°Π΄Π°Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ
def f(x):
return x ** 2
# ΠΠ°Π΄Π°Π΅ΠΌ Π³ΡΠ°Π½ΠΈΡΡ x
x = np.linspace(0, 5, 100)
# ΠΠ°Π΄Π°Π΅ΠΌ Π³ΡΠ°ΡΠΈΠΊ
plt.plot(x, f(x))
# ΠΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π³ΡΠ°ΡΠΈΠΊΠ°
plt.show()
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ matplotlib.pyplot ΠΈ numpy. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ f(x), ΠΊΠΎΡΠΎΡΡΡ Ρ ΠΎΡΠΈΠΌ ΠΏΠΎΡΡΡΠΎΠΈΡΡ, ΠΈ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΌΠ°ΡΡΠΈΠ² Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ x. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ Π³ΡΠ°ΡΠΈΠΊ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠ½ΠΊΡΠΈΡ plt.plot(), ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌ Π΅Π³ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ plt.show(). ΠΡΠΎ Π΄Π°ΡΡ Π½Π°ΠΌ Π³ΡΠ°ΡΠΈΠΊ ΡΡΠ½ΠΊΡΠΈΠΈ y = x^2 Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ 0 Π΄ΠΎ 5.
4. ΠΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΠΏΠ»ΠΎΡΠ°Π΄ΠΈ ΠΏΠΎΠ΄ Π³ΡΠ°ΡΠΈΠΊΠΎΠΌ
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Ρ Π½Π°Ρ Π΅ΡΡΡ Π³ΡΠ°ΡΠΈΠΊ, Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ ΠΊ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΏΠ»ΠΎΡΠ°Π΄ΠΈ ΠΏΠΎΠ΄ Π½ΠΈΠΌ. ΠΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠ² Π΄Π»Ρ ΠΎΡΠ΅Π½ΠΊΠΈ ΠΏΠ»ΠΎΡΠ°Π΄ΠΈ. ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π° ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π½ΠΈΠΆΠ΅:
# ΠΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΠΏΠ»ΠΎΡΠ°Π΄ΠΈ ΠΏΠΎΠ΄ Π³ΡΠ°ΡΠΈΠΊΠΎΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠ²
def compute_area(x, y):
area = np.sum(y[:-1] * np.diff(x))
return area
# ΠΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΠΏΠ»ΠΎΡΠ°Π΄ΠΈ ΠΏΠΎΠ΄ Π³ΡΠ°ΡΠΈΠΊΠΎΠΌ
area = compute_area(x, f(x))
# ΠΡΠ²ΠΎΠ΄ ΠΏΠ»ΠΎΡΠ°Π΄ΠΈ
print("ΠΠ»ΠΎΡΠ°Π΄Ρ ΠΏΠΎΠ΄ Π³ΡΠ°ΡΠΈΠΊΠΎΠΌ ΡΠ°Π²Π½Π°:", area)
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ compute_area(), ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΌΠ°ΡΡΠΈΠ²Ρ x ΠΈ y Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²Ρ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΈ Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ ΠΏΠ»ΠΎΡΠ°Π΄Ρ ΠΏΠΎΠ΄ Π³ΡΠ°ΡΠΈΠΊΠΎΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠ². ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ np.sum() Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΡΠΌΠΌΡ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ y ΠΈ ΡΠΈΡΠΈΠ½Ρ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠ², Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ np.diff(). ΠΠ°ΡΠ΅ΠΌ ΠΌΡ Π²ΡΡΠΈΡΠ»ΡΠ΅ΠΌ ΠΏΠ»ΠΎΡΠ°Π΄Ρ, Π²ΡΠ·ΡΠ²Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ compute_area() Ρ Π½Π°ΡΠΈΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ x ΠΈ f(x). ΠΡΠ²ΠΎΠ΄ΠΈΠΌ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ ΠΏΠ»ΠΎΡΠ°Π΄Ρ.
5. ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ, ΠΊΠ°ΠΊ Π²ΡΡΠΈΡΠ»ΠΈΡΡ ΠΏΠ»ΠΎΡΠ°Π΄Ρ ΠΏΠΎΠ΄ Π³ΡΠ°ΡΠΈΠΊΠΎΠΌ Π² Python. ΠΡ Π½Π°ΡΠ°Π»ΠΈ Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π³ΡΠ°ΡΠΈΠΊΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ matplotlib ΠΈ numpy. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠ² Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΏΠ»ΠΎΡΠ°Π΄ΠΈ ΠΏΠΎΠ΄ Π³ΡΠ°ΡΠΈΠΊΠΎΠΌ. ΠΡΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΌΠ΅ΡΠΎΠ΄ Ρrapez, ΡΡΠΎΠ±Ρ ΡΠ»ΡΡΡΠΈΡΡ ΡΠΎΡΠ½ΠΎΡΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ. Π£Π΄Π°ΡΠΈ Π² Π²Π°ΡΠ΅ΠΌ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠΈ Python!