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

Практикум 5. Матрицы и определители

Матрицы. Создание матриц в MATLAB. Операции над матрицами.

Операции над элементами матриц. Определитель матрицы.

1. Способы задания матриц

Матрицей размерности называется прямоугольная таблица, состоящая из n строк и m столбцов. Традиционно в математике эту таблицу заключают в круглые скобки. Например, - матрица размерности ;

Если матрица имеет размер , т.е. состоит только из одной строки, то ее называют вектором-строкой. Например, - матрица размерности , т.е. вектор-строка.

Если матрица имеет размер , т.е. состоит только из одного столбца, то ее называют вектором-столбцом. Например, - матрица размерности , т.е. вектор-столбец.

Если матрица имеет размер , т.е. состоит из одного столбца и одной строки, то ее называют скаляром. Например, - матрица размерности , т.е. скаляр.

MATLAB поддерживает несколько способов ввода матриц:

  1. Ввод полного списка элементов матрицы.

  2. Генерация матрицы с заданными свойствами, используя встроенные функции.

  3. Загрузка матрицы из текстового или двоичного файла.

  4. Задание матрицы в m файле с помощью скрипта.

Первый способ был подробно рассмотрен в работе 1. Матрица задается путем перечисления ее элементов с использованием следующих основных правил:

  1. Элементы строки матрицы отделяются пробелами или запятыми.

  2. Строки матрицы отделятся точкой с запятой.

  3. Весь список элементов матрицы окружается квадратными скобками.

Пример 1.

>> A=[1 2 3 4;0 1 3 2]

A =

1 2 3 4

0 1 3 2

Второй способ: MATLAB содержит ряд встроенных функций для создания основных (наиболее часто используемых) матриц специального вида. Список функций приведен в таблице 1.

Таблица 1. Встроенные функции генерации матриц.

Реализующая функция

Описание

zeros (n)

zeros (n,m)

Создает матрицу размера n x m, все элементы которой равны 0.

Функция с одним параметров создает квадратную матрицу размера n x n.

ones (n)

ones (n,m)

Создает матрицу размера n x m, все элементы которой равны 1.

Функция с одним параметров создает квадратную матрицу размера n x n.

eye (n)

eye (n, m)

Функция с одним параметром создает единичную матрицу размера n x n, элементы главной диагонали которой равны 1, остальные элементы равны 0.

Функция с двумя параметрами создает прямоугольную матрицу размера n x m. Главная диагональ для прямоугольной матрицы – элементы с совпадающими номерами строки и столбца.

diag ([a1 … an])

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

diag ([a1 … an],k)

Создает квадратную матрицу размерности n + abs(k), где n – число элементов массива (первый параметр). Элементы массива размещаются по правилу: элемент с индексом i в создаваемой матрице помещается на место элемента матрицы с индексами (i, i+k). Все остальные элементы задаются равными 0.

rand (n)

rand (n,m)

Создает матрицу размера n x m со случайными значениями элементов из диапазона от 0 до 1.

Функция с одним параметром создает квадратную матрицу размера n x n.

magic (n)

Создает магический квадрат размера n x n, т.е. матрицу с целыми элементами от 1 до n^2, у которой суммы элементов по строкам, столбцам и на главной и побочной диагонали равны одному и тому-же числу.

diag (A)

Создает вектор-столбец, составленный из элементов главной диагонали матрицы А.

tril (A)

Создает нижнюю треугольную матрицу, составленную из элементов A (т.е. матрицу у которой элементы на и под главной диагональю совпадают с соответствующими элементами матрицы А, элементы выше главной диагонали равны 0)

triu (A)

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

Пример 2.

>> B=ones(2,3)

B =

1 1 1

1 1 1

>> C=eye(3)

C =

1 0 0

0 1 0

0 0 1

>> D=diag([1 2 3], 2)

D =

0 0 1 0 0

0 0 0 2 0

0 0 0 0 3

0 0 0 0 0

0 0 0 0 0

>> E=tril(B)

E =

1 0 0

1 1 0

Очень часто возникает необходимость создать матрицу со случайными значениями из диапазона [a; b], отличного от стандартного диапазона [0; 1]. В этом случае, осуществляют дополнительное преобразование полученной матрицы к нужному диапазону с помощью операции вида

>> a + (b-a) * rand(n, m)

Для создании случайной матрицы, состоящей из целых чисел, результат предыдущей команды дополнительно округляют с помощью встроенной функции round. Начиная с версии 2008b (в компьютерных классах эта возможность не доступна) в MATLAB появилась функция randi, которая позволяет создать целочисленную случайную матрицу используя одну команду.

Пример 2 (продолжение).

>> F=-3+7*rand(3) % матрица со случайными значениями от -3 до 4

F =

2.7031 3.3936 -1.0505

3.3405 1.4265 0.8282

-2.1111 -2.3172 3.7025

>> G=round(1+10*rand(2,4)) % матрица со случайными целыми значениями от 1 до 11

G =

11 11 6 2

3 11 9 5

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

1) Задать матрицу размерностью из нулей.

2) Задать квадратную диагональную матрицу с последовательными элементами от 1 до 5 на главной диагонали.

3) Задать матрицу размера 4 x 6 со случайными значениями элементов от -10 до 20.

4) Задать матрицу