π’ ΠΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ ΠΌΠ°ΡΡΠΈΡΡ Π½Π° ΠΏΠΈΡΠΎΠ½Π΅? ΠΠ΅Π³ΠΊΠΈΠΉ ΡΡΠΎΠΊ ΠΏΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ
Π§ΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ ΠΌΠ°ΡΡΠΈΡΡ Π½Π° Python, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ numpy. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°:
import numpy as np
# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π΄Π²Π΅ ΠΌΠ°ΡΡΠΈΡΡ
matrix1 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
matrix2 = np.array([[9, 8, 7], [6, 5, 4], [3, 2, 1]])
# Π‘ΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΠΌ ΠΌΠ°ΡΡΠΈΡΡ
result = matrix1 + matrix2
# ΠΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ
print("Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΡ:")
print(result)
ΠΡΠΎΡ ΠΊΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ numpy Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Ρ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ. Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ Π΄Π²Π΅ ΠΌΠ°ΡΡΠΈΡΡ, matrix1 ΠΈ matrix2, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°ΡΠ΅ΠΌ ΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° "+". Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΡΠΊΡΠ°Π½ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ print().
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ ΠΌΠ°ΡΡΠΈΡΡ Π½Π° ΠΏΠΈΡΠΎΠ½Π΅
ΠΠΎΠ±ΡΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°ΡΡ Π½Π° ΡΡΠΎΠΊ, ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π½ΡΠΉ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ° ΠΌΠ°ΡΡΠΈΡΡ Π½Π° ΠΏΠΈΡΠΎΠ½Π΅! Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΡΡΠ°Π½ΡΠΏΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. ΠΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Python, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ ΠΏΡΠΎΡΡ Π² ΠΈΠ·ΡΡΠ΅Π½ΠΈΠΈ ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠΈ.
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΌΠ°ΡΡΠΈΡΡ
ΠΠ°ΡΡΠΈΡΠ° - ΡΡΠΎ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΡΠΉ Π½Π°Π±ΠΎΡ ΡΠΈΡΠ΅Π», ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ. ΠΠ½Π° ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΡΡΠΎΠΊ ΠΈ ΡΡΠΎΠ»Π±ΡΠΎΠ², Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠ°ΡΡΠΈΡΠ° 2x3 ΠΈΠΌΠ΅Π΅Ρ 2 ΡΡΡΠΎΠΊΠΈ ΠΈ 3 ΡΡΠΎΠ»Π±ΡΠ°:
1 2 3
4 5 6
Π ΡΡΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΠ΅ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°Ρ (1, 1) ΠΈ ΡΠ°Π²Π΅Π½ 1, Π²ΡΠΎΡΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°Ρ (1, 2) ΠΈ ΡΠ°Π²Π΅Π½ 2, ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.
ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ
ΠΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ ΠΊΠ°ΠΊ ΠΌΡ Π½Π°ΡΠ½Π΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ ΠΌΠ°ΡΡΠΈΡΡ, Π΄Π°Π²Π°ΠΉΡΠ΅ Π²ΡΠΏΠΎΠΌΠ½ΠΈΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ:
- Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡ
- Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡΡ Π½Π° ΡΠΊΠ°Π»ΡΡ
- Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡ
- Π’ΡΠ°Π½ΡΠΏΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡΡ
Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡ
Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΡΡΠ΅ΠΌ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΡΡ:
def matrix_addition(m1, m2):
result = []
for i in range(len(m1)):
row = []
for j in range(len(m1[0])):
row.append(m1[i][j] + m2[i][j])
result.append(row)
return result
Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡΡ Π½Π° ΡΠΊΠ°Π»ΡΡ
Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡΡ Π½Π° ΡΠΊΠ°Π»ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΡΡΠ΅ΠΌ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΌΠ°ΡΡΠΈΡΡ Π½Π° Π΄Π°Π½Π½ΡΠΉ ΡΠΊΠ°Π»ΡΡ:
def scalar_multiplication(matrix, scalar):
result = []
for i in range(len(matrix)):
row = []
for j in range(len(matrix[0])):
row.append(matrix[i][j] * scalar)
result.append(row)
return result
Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡ
Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΡΡΠ΅ΠΌ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ ΡΡΡΠΎΠΊΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΡ Π½Π° ΡΡΠΎΠ»Π±Π΅Ρ Π²ΡΠΎΡΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΡ:
def matrix_multiplication(m1, m2):
result = []
for i in range(len(m1)):
row = []
for j in range(len(m2[0])):
sum = 0
for k in range(len(m2)):
sum += m1[i][k] * m2[k][j]
row.append(sum)
result.append(row)
return result
Π’ΡΠ°Π½ΡΠΏΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡΡ
Π’ΡΠ°Π½ΡΠΏΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΡΡΠ΅ΠΌ Π·Π°ΠΌΠ΅Π½Ρ ΡΡΡΠΎΠΊ Π½Π° ΡΡΠΎΠ»Π±ΡΡ ΠΈ ΡΡΠΎΠ»Π±ΡΠΎΠ² Π½Π° ΡΡΡΠΎΠΊΠΈ:
def matrix_transposition(matrix):
result = []
for j in range(len(matrix[0])):
row = []
for i in range(len(matrix)):
row.append(matrix[i][j])
result.append(row)
return result
ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ° ΠΌΠ°ΡΡΠΈΡΡ:
m1 = [[1, 2, 3], [4, 5, 6]]
m2 = [[7, 8, 9], [10, 11, 12]]
# Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡ
result = matrix_addition(m1, m2)
print("Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡ:")
for row in result:
print(row)
# Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡΡ Π½Π° ΡΠΊΠ°Π»ΡΡ
scalar = 2
result = scalar_multiplication(m1, scalar)
print("Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡΡ Π½Π° ΡΠΊΠ°Π»ΡΡ:")
for row in result:
print(row)
# Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡ
result = matrix_multiplication(m1, m2)
print("Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡ:")
for row in result:
print(row)
# Π’ΡΠ°Π½ΡΠΏΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡΡ
result = matrix_transposition(m1)
print("Π’ΡΠ°Π½ΡΠΏΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡΡ:")
for row in result:
print(row)
ΠΡΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠΎ, ΠΊΠ°ΠΊ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ Π²Π°Ρ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ ΠΌΠ°ΡΡΠΈΡΡ Π½Π° ΠΏΠΈΡΠΎΠ½Π΅! ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΡΡΡ ΠΊΠΎΠ΄, ΡΡΠΎΠ±Ρ Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ ΠΏΠΎΠ΄ ΡΠ²ΠΎΠΈ Π½ΡΠΆΠ΄Ρ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ ΠΎΡΠ½ΠΎΠ²Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ° ΠΌΠ°ΡΡΠΈΡΡ Π½Π° ΠΏΠΈΡΠΎΠ½Π΅. ΠΡ ΡΠ·Π½Π°Π»ΠΈ, ΠΊΠ°ΠΊ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΡΠ°Π½ΡΠΏΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΡΡ. ΠΡΠΎΡ ΠΊΠΎΠ΄ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠ½ΠΎΠ²ΠΎΠΉ Π΄Π»Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ², ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ. Π― Π½Π°Π΄Π΅ΡΡΡ, ΡΡΠΎ Π΄Π°Π½Π½Π°Ρ ΡΡΠ°ΡΡΡ ΠΏΠΎΠΌΠΎΠ³Π»Π° Π²Π°ΠΌ ΡΠ°ΡΡΠΈΡΠΈΡΡ Π²Π°ΡΠΈ Π·Π½Π°Π½ΠΈΡ ΠΈ Π½Π°Π²ΡΠΊΠΈ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° ΠΏΠΈΡΠΎΠ½Π΅!
Π£Π΄Π°ΡΠΈ Π²Π°ΠΌ Π² ΠΈΠ·ΡΡΠ΅Π½ΠΈΠΈ ΠΌΠ°ΡΡΠΈΡ ΠΈ ΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π² ΠΏΠΈΡΠΎΠ½Π΅!