π ΠΠ°ΠΊ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Π² Python? π Π¨Π°Π³ Π·Π° ΡΠ°Π³ΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ ΠΈ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΡΠΌΠΈ
Π§ΡΠΎΠ±Ρ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Π² Python, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ, Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ Π² ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ 2x + 3 = 7, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
x = (7 - 3) / 2
ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ (7 - 3) / 2 Π²ΡΡΠΈΡΠ»ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ x.
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ Python Π΄Π»Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ:
import math
a = 1
b = -3
c = 2
# ΠΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ Π΄ΠΈΡΠΊΡΠΈΠΌΠΈΠ½Π°Π½ΡΠ°
discriminant = b**2 - 4*a*c
# ΠΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΠΊΠΎΡΠ½Π΅ΠΉ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ
x1 = (-b + math.sqrt(discriminant)) / (2*a)
x2 = (-b - math.sqrt(discriminant)) / (2*a)
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΌΠΎΠ΄ΡΠ»Ρ math, ΡΡΠΎΠ±Ρ Π²ΡΡΠΈΡΠ»ΠΈΡΡ ΠΊΠΎΡΠ½ΠΈ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠ°ΠΌΠΈ a, b ΠΈ c.
ΠΠ°Π΄Π΅ΡΡΡ, ΡΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π»ΠΎ Π²Π°ΠΌ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Π² Python. Π£Π΄Π°ΡΠΈ Π² ΠΈΠ·ΡΡΠ΅Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ!
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Π² ΠΏΠΈΡΠΎΠ½Π΅
ΠΠ°ΠΏΠΈΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ Π² Python ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π·Π°Π΄Π°Ρ ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ°ΡΡΠ΅ΡΡ. Π Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ Π·Π°ΠΏΠΈΡΠΈ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ Π² Python ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΠΌ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ .
1. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Π° "ΡΠ°Π²Π½ΠΎ"
ΠΡΠΎΡΡΠ΅ΠΉΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± Π·Π°ΠΏΠΈΡΠΈ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Π² Python - ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Π° "ΡΠ°Π²Π½ΠΎ" (=). ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ 2x + 3 = 7, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΡΡΠΎ Π² Python ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
x = (7 - 3) / 2
print(x)
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π½Π° ΡΠΊΡΠ°Π½ Π±ΡΠ΄Π΅Ρ Π²ΡΠ²Π΅Π΄Π΅Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ x, ΡΠ°Π²Π½ΠΎΠ΅ 2.0.
2. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Π° "ΡΠ°Π²Π½ΠΎ" ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ²
Π Python ΠΌΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ "+", "-", "*", "/" ΠΈ Π΄ΡΡΠ³ΠΈΠ΅, Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ 3x2 + 2x - 5 = 0. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΏΠΈΡΠ°ΡΡ Π΅Π³ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°:
from math import sqrt
a = 3
b = 2
c = -5
# Π Π°ΡΡΠ΅Ρ Π΄ΠΈΡΠΊΡΠΈΠΌΠΈΠ½Π°Π½ΡΠ°
D = b**2 - 4*a*c
# Π Π°ΡΡΠ΅Ρ ΠΊΠΎΡΠ½Π΅ΠΉ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ
x1 = (-b + sqrt(D)) / (2*a)
x2 = (-b - sqrt(D)) / (2*a)
print(x1, x2)
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π½Π° ΡΠΊΡΠ°Π½ Π±ΡΠ΄Π΅Ρ Π²ΡΠ²Π΅Π΄Π΅Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ x1 ΠΈ x2, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²Π»ΡΡΡΡΡ ΠΊΠΎΡΠ½ΡΠΌΠΈ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ.
3. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ SymPy
ΠΡΠ»ΠΈ Π²Π°ΠΌ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠΌΠΈ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡΠΌΠΈ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ SymPy Π΄Π»Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ sin(x) + cos(x) = 1. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΏΠΈΡΠ°ΡΡ Π΅Π³ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°:
from sympy import symbols, sin, cos, Eq, solve
x = symbols('x')
equation = Eq(sin(x) + cos(x), 1)
# Π Π΅ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ
solution = solve(equation, x)
print(solution)
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π½Π° ΡΠΊΡΠ°Π½ Π±ΡΠ΄Π΅Ρ Π²ΡΠ²Π΅Π΄Π΅Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ x, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ.
4. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ NumPy
ΠΡΠ»ΠΈ Π²Π°ΠΌ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ NumPy. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΈΡΡΠ΅ΠΌΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ:
2x + 3y = 10
4x + 2y = 8
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°:
import numpy as np
# ΠΠ°ΡΡΠΈΡΠ° ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠ²
A = np.array([[2, 3], [4, 2]])
# ΠΠ΅ΠΊΡΠΎΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΡ
ΡΠ»Π΅Π½ΠΎΠ²
B = np.array([10, 8])
# Π Π΅ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ
solution = np.linalg.solve(A, B)
print(solution)
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π½Π° ΡΠΊΡΠ°Π½ Π±ΡΠ΄Π΅Ρ Π²ΡΠ²Π΅Π΄Π΅Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ x ΠΈ y, ΡΠ²Π»ΡΡΡΠΈΡ ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ.
Π Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² Π·Π°ΠΏΠΈΡΠΈ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ Π² Python. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΉ Π²Π°ΡΠΈΠ°Π½Ρ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π²Π°ΡΠΈΡ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΠ΅ΠΉ ΠΈ ΡΡΠ΅Π±ΡΠ΅ΠΌΠΎΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ.