Шаг 3. Реализация операций над матрицами

Подробно рассмотрим операцию произведения матриц, сумму и транспонирование - останется реализовать самостоятельно.

Итак у нас есть две матрицы A(а1, а2) и B(b1, b2). Найти произведение матриц и вывести на монитор исходные матрицы и результирующую C(а1, b2) построчно.

Условимся, что здесь и далее в обозначении размеров матриц первый элемент указывает число строк, а второй – число столбцов.

Вспомним алгебру. Во-первых, матрицы можно умножить только в том случае, если число столбцов первой матрицы равно числу строк второй.

На число строк первой матрицы и число столбцов второй ограничений не накладывается. Число строк результирующей матрицы равно числу строк первой, а число ее столбцов – числу столбцов второй матрицы. Приведем пример:

A (2,3) B (3,4) C (2,4)

1,1 1,2 1,3   1,1 1,2 1,3 1,4   1,1 1,2 1,3 1,4
2,1 2,2 2,3 X 2,1 2,2 2,3 2,4 = 2,1 2,2 2,3 2,4
        3,1 3,2 3,3 3,4          

Элемент матрицы C(i, j) получается путем поэлементного умножения i-й строки матрицы A на j-й столбец матрицы B. Для приведенного примера результат получается так (смотри заштрихованные ячейки):

C(2,3) = A(2,1)*B(1,3) + A(2,2)*B(2,3) + A(2,3)*B(3,3)

А теперь реализуйте и разберите код выполнения данной операции.

Операция транспонирования заключается в том, что строки и столбцы в исходной матрице меняются ролями.

В транспонированной матрице первым столбцом служит первая строка исходной матрицы, вторым столбцом - вторая строка исходной матрицы и т.д. Например,

A(2,3) tA (3,2)

           
  -1 -2     -1
          -2

При сложении матриц складываются элементы, стоящие на одинаковых местах. Соответственно нужно проверить, чтобы матрицы были одинаковых размеров

    +     =    
  -1   -2        

Если Вы все успели сделать и у Вас осталось еще немного времени: сделайте так, чтобы матрицы не объявлялись глобально, а использовались как параметры в круглых скобках Ваших методов.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: