Представляю вам ответы и решения урока 4.7(Операции над матрицами в математике) на курс «Поколение Python: курс для продвинутых»
Найти сумму матриц
2 3 4
6 7 8
10 11 12
Найти произведение матрицы
3 6 9
12 15 18
21 24 27
Одну матрицу можно умножать на другую только тогда, когда
количество столбцов в первой матрице совпадает с количеством строк во второй матрице
Результат умножения матрицы размера Am×n на матрицу размером Bn×k – матрица C с размером
Cm×k
Найти произведение матриц
Примечание. Мы умножаем строку первой матрицы на столбец второй матрицы. Чтобы найти элемент c_{ij}cij результирующей матрицы C = A \times BC=A×B мы умножаем каждый элемент ii-ой строки матрицы AA на соответствующий ему элемент jj-ого столбца матрицы BB и суммируем произведения.
12 15 18
24 30 36
36 45 54
Найти произведение матриц
Примечание. Мы умножаем строку первой матрицы на столбец второй матрицы. Чтобы найти элемент c_{ij}cij результирующей матрицы C = A \times BC=A×B мы умножаем каждый элемент ii-ой строки матрицы AA на соответствующий ему элемент jj-ого столбца матрицы BB и суммируем произведения.
-2 -2
1 2
Для матрицы
1 0
100 1
Напишите программу для вычисления суммы двух матриц.
Формат входных данных
Напишите программу для вычисления суммы двух матриц.На вход программе подаются два натуральных числа nn и mm — количество строк и столбцов в матрицах, затем элементы первой матрицы, затем пустая строка, далее следуют элементы второй матрицы.
n, m = [int(i) for i in input().split()]
matrix1 = [[int(i) for i in input().split()] for _ in range(n)]
a = input()
matrix2 = [[int(i) for i in input().split()] for _ in range(n)]
matrix3 = [[0] * m for _ in range(n)]
for i in range(n):
for j in range(m):
matrix3[i][j] += matrix1[i][j] + matrix2[i][j]
for row in matrix3:
print(*row)
Напишите программу, которая перемножает две матрицы.
Формат входных данных
На вход программе подаются два натуральных числа nn и mm — количество строк и столбцов в первой матрице, затем элементы первой матрицы, затем пустая строка. Далее следуют числа mm и kk — количество строк и столбцов второй матрицы затем элементы второй матрицы.
n, m = [int(i) for i in input().split()]
a = [[int(j) for j in input().split()] for _ in range(n)]
input()
m, k = [int(i) for i in input().split()]
b = [[int(j) for j in input().split()] for _ in range(m)]
c = [[0] * k for i in range(n)]
for i in range(n):
for j in range(k):
el = 0
for r in range(m):
el += a[i][r] * b[r][j]
c[i][j] = el
for row in c:
print(*row)
Напишите программу, которая возводит квадратную матрицу в m-ую степень.
Формат входных данных
На вход программе подаётся натуральное число n — количество строк и столбцов в матрице, затем элементы матрицы, затем натуральное число mm.
n = int(input())
a = [list(map(int, list(input().split()))) for _ in range(n)]
m = int(input())
def multi(a, b):
n = len(a)
b = list(zip(*b))
return [[sum([a[i][r] * b[j][r] for r in range(n)]) for j in range(n)] for i in range(n)]
def expo(a, m):
c = list(a)
for _ in range(m-1):
c = multi(c, a)
return c
result = expo(a, m)
[print(*row) for row in result]
Если у вас не отображается решение последних задач, значит у вас включен блокировщик рекламы который вырезает эти ответы
Блин, ну реально не смешно…
а если насильно заставляют проходить?
а разборы экзаменов будут?
Решения экзаменов не выкладываю
почему
Экзамены нужны для вашей проверки усвоенного материала. Если вы не можете пройти экзамен то рекомендую заново пройти курс этого экзамена.
А если занимаешься не по своей воле?