Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка2.doc
Скачиваний:
34
Добавлен:
13.02.2015
Размер:
1.4 Mб
Скачать

Арифметические операции с матрицами

  1. Сложение(Addition).Под сложение двух матриц A и B понимается матрица C,элементы которой равны сумме соответствующих элементов матрицAиB. (Складывать матрицы можно только одинакового размера).

  1. Вычитание(Subtraction). Под вычитание двух матрицAиBпонимается матрицаC, элементы которой равны разности соответствующих элементов матрицAиB. (Вычитатьматрицы можно только одинакового размера).

  1. Умножение матрицы на число(Multiplication by number). Под умножением матрицы А на числоlпонимается матрица С, элементы которой равны элементам матрицы А, умноженным на числоl.

  1. Умножение матриц(Multiplication). Под умножением матрицAиBпонимается матрицаC, элементы которойcijравны сумме произведений элементовiстроки матрицы А иj-гостолбца матрицыB.

(Умножать матрицы можно тогда, когда число столбцов первой матрицы равно числу строк второй).

  1. Транспонирование(Transpose). Под транспонирование матрицыAпонимается матрицаAT, которая получается из исходной путем замены её строк (столбцов) соответствующими столбцам (строками).

;

  1. Обратная матрица(Inverse). МатрицаA-1называется обратной по отношению к матрице А, если их произведение равно единичной матрице:

AA-1=E;A-1A=E.

Обратная матрица используется для выполнения операции деления и существует только тогда, когда исходная матрица A является квадратной (m = n) и её определитель не равен нулю.

Определитель матрицы(Determinant) – число, представленное в виде квадратной таблицы, состоящей изnстрок иnстолбцов, над элементами которой заданы определенные правила действий.

Определитель обозначается буквами Dилиdet, а его элементы, в отличие от матриц, записываются в прямых скобках | |.

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

Определитель второго порядка раскрывается по следующей формуле:

.

Определитель третьего порядка находится следующим образом:

.

Для нахождения определителя n–го порядка используют метод разложения по элементам какой-либо строкиiили столбцаj:

или

где AikиAkj– алгебраические дополнения элементовaikиakj.

Алгебраическим дополнением Aijэлементаaijопределителяn-го порядка называется минор этого элементаMij, взятый со знаком (-1)i+j:

.

Минором Mijэлементаaijопределителяn–го порядка называется определитель (n1)-го порядка, получаемый из исходного определителявычеркиванием i-й строки и j-го столбца, на пересечении которых стоит элемент aij.

Например,

; ;

; ;

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

ADT – формат класса TMatrix

ADT TMatrix

Поля

Количество строк (FRows) и столбцов (FCols): Целый тип

Элементы матрицы (Items): шаблонный класс vector

Методы

Чтение количества строк (Rows) – подстановочный метод

Вход: Нет

Предусловие: Нет

Процесс: Нет

Постусловие: Нет

Выход: Количество строк

Чтение количества столбцов (Rows) – подстановочный метод

Вход: Нет

Предусловие: Нет

Процесс: Нет

Постусловие: Нет

Выход: Количество столбцов

Обращение к элементам матрицы ( )

Вход: Номер строки и столбца

Предусловие: Номер строки и столбца не меньше 1 и не боль-ше количества строк и столбцов соответственно

Процесс: Преобразование номера столбца и строки

в порядковый номер элемента в массиве

Постусловие: Нет

Выход: Ссылка на элемент матрицы с порядковым

номером переданной строки и столбца

Конструктор – перегруженный

Вход: Количество строк и столбцов матрицы

Предусловие: Количество строк и столбцов не меньше 1

Начальные значения: Нет

Процесс: Инициализация полей объекта

Конструктор – перегруженный

Вход: Нет

Предусловие: Нет

Начальные значения: Нет

Процесс: Инициализация полей нулевыми значениями

Сложение с присвоением (+=)

Вход: Второе слагаемое в виде матрицы

Предусловие: Размеры матриц совпадают

Процесс: Сложение матриц

Постусловие: Результат сложения присвоен полям объекта

Выход: Результат сложения матриц

Вычитание с присвоением (-=)

Вход: Вычитаемое в виде матрицы

Предусловие: Размеры матриц совпадают

Процесс: Вычитание матриц

Постусловие: Результат вычитания присвоен полям объекта

Выход: Результат вычитания матриц

Умножение на число с присвоением (*=) – перегруженный

Вход: Сомножитель в виде действительного числа

Предусловие: Нет

Процесс: Умножение матрицы на числа

Постусловие: Результат умножения присвоен полям объекта

Выход: Результат умножения матрицы на число

Умножение с присвоением (*=) – перегруженный

Вход: Второй сомножитель в виде матрицы

Предусловие: Количество столбцов множимой матрицы совпадает с числом строк второй матрицы

Процесс: Умножение матриц

Постусловие: Результат умножения присвоен полям объекта

Выход: Результат умножения матриц

Сложение матриц (+)

Вход: Второе слагаемое в виде матрицы

Предусловие: Размеры матриц совпадают

Процесс: Сложение матриц

Постусловие: Нет

Выход: Результат сложения матриц

Вычитание матриц (-)

Вход: Вычитаемое в виде матрицы

Предусловие: Размеры матриц совпадают

Процесс: Вычитание матриц

Постусловие: Нет

Выход: Результат вычитания матриц

Умножение матрицы на число (* ) – перегруженный

Вход: Сомножитель в виде действительного числа

Предусловие: Нет

Процесс: Умножение матрицы на числа

Постусловие: Нет

Выход: Результат умножения матрицы на число

Умножение матриц (* ) – перегруженный

Вход: Второй сомножитель в виде матрицы

Предусловие: Количество столбцов множимой матрицы совпадает с числом строк второй матрицы

Процесс: Умножение матриц

Постусловие: Нет

Выход: Результат умножения матриц

Транспонирование (T)

Вход: Нет

Предусловие: Нет

Процесс: Перестановка строк и столбцов местами

Постусловие: Нет

Выход: Результат транспонирования матрицы

Определитель матрицы (Det)

Вход: Нет

Предусловие: Матрица квадратная

Процесс: Нахождение определителя

Постусловие: Нет

Выход: Определитель матрицы

Конец ADT TMatrix