Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практ_5В.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
249.34 Кб
Скачать

5. Операции над матрицами, операции над элементами матриц.

MATLAB поддерживает операции над матрицами, перечисленные в таблице 2. Размер матриц для выполнения указанных операций должен удовлетворять правилам, излучавшимся в курсе линейной алгебры. При несоответствии размеров матриц MATLAB будет выдавать сообщение об ошибке.

Таблица 2. Операции над матрицами.

Операция

Описание

A + B

Сумма двух матриц.

А – B

Разность двух матриц.

a * B

B * a

Произведение числа a и матрицы B.

A * B

Произведение двух матриц.

A.'

transpose (A)

Транспонирование матрицы А.

A'

ctranspose (A)

Комплексное транспонирование матрицы А. Элементы транспонированной матрицы заменяются на комплексно-сопряженные числа.

inv(A)

Вычисление обратной матрицы.

A/B

Матричное деление. Результат вычисляется по формуле A/B = A * inv(B)

A\B

Левое матричное деление. Результат вычисляется по формуле A\B = inv(A)*B

inv(A)

Вычисление обратной матрицы.

rank(A)

Ранг матрицы.

trace (A)

След матрицы – сумма элементов на главной диагонали.

Кроме того, можно осуществлять поэлементные операции над матрицами, перечисленные в таблице 3. В этих случаях MATLAB рассматривает операнды как массивы чисел и осуществляет операцию над элементами с совпадающими индексами. Для выполнения операций обе матрицы должны иметь один размер, либо один из операндов должен быть скаляром.

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

Таблица 3. Поэлементные операции над матрицами.

Операция

Описание

A .+ B

Сумма A(i,j) + B(i,j). Результат совпадает с суммой матриц.

А .- B

Сумма A(i,j) - B(i,j). Результат совпадает с суммой матриц.

A .* B

Произведение элементов двух матриц A(i,j) * B(i,j).

A ./ B

Частное элементов двух матриц A(i,j) / B(i,j).

A .^ B

Степень: A(i,j) в степень B(i,j).

sum (A)

sum(A,1)

Сумма элементов по каждому столбцу матрицы. Для вектора-строки операция вычисляет сумму всех элементов.

sum (A,2)

Сумма элементов в каждой строке матрицы.

min (A)

min (A,1)

Минимальный элемент каждого столбца матрицы. Для вектора-строки операция вычисляет минимум из всех элементов.

min (A,2)

Минимальный элемент каждой строки матрицы.

max (A)

max (A,1)

Максимальный элемент каждого столбца матрицы. Для вектора-строки операция вычисляет максимум из всех элементов.

max (A,2)

Максимальный элемент каждой строки матрицы.

Для того, чтобы вычислить сумму всех элементов матрицы можно воспользоваться повторным вызовом функции sum. Аналогично, вычисляется минимум или максимум из всех элементов матрицы.

Пример 6.

>> A=[1 2 3; 4 5 6]

A =

1 2 3

4 5 6

>> sum(A)

ans =

5 7 9

>> sum(A,2)

ans =

6

15

>> sum(sum(A))

ans =

21

Упражнение 5.

  1. Задайте четыре матрицы заданного размера со случайными целыми элементами со значениями от -5 до 5. Размеры матриц A (2 x 3), B (3 x 3), C (3 x 3), D (3 x 1).

  2. Для всех матриц из пункта 1 найти их транспонированные матрицы.

  3. Для всех возможных пар матриц из пункта 1 найти сумму, разность и произведение (если данные операции возможно). Разность и произведение необходимо вычислить с учетом различного порядка операндов, например B-C и С-В.

  4. С помощью функции magic задать магический квадрат порядка 5. Вычислить суммы элементов в строках и столбцах полученной матрицы. Вычислить сумму элементов на главной диагонали матрицы. Убедится, что все суммы совпадают.