Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO
1.6. Операции над матрицами и векторами
В системе MatLab достаточно
просто выполняются математические операции над матрицами и векторами.
Рассмотрим сначала простые операции сложения и умножения матриц и векторов.
Пусть даны два вектора
a = [1 2 3 4 5]; %
вектор-строка
тогда
умножение этих двух векторов можно записать так
c = a*b; % c=1+2+3+4+5=16
В соответствии с операциями над векторами, умножение вектор-строки на вектор-столбец дает число, а умножение вектор-столбца на вектор-строку дает двумерную матрицу, что и является результатом вычислений в приведенном примере, т.е.
Сложение и вычитание двух векторов
записывается так
a1 = [1 2 3 4 5];
Следует обратить внимание, что операции сложения и вычитания можно выполнять между двумя векторами-столбцами или двумя векторами-строками. Иначе MatLab выдаст сообщение об ошибке, т.к. разнотипные векторы складывать нельзя. Так обстоит дело со всеми недопустимыми арифметическими операциями: в случае невозможности их вычисления система MatLab сообщит об ошибке и выполнение программы будет завершено на соответствующей строке. Аналогичным образом выполняются операции
умножения и сложения между матрицами:
A = [1 2 3; 4 5 6; 7 8 9];
Операции вычисления обратной матрицы, а
также транспонирования матриц и векторов, записываются следующим образом:
a = [1 1 1]; %
вектор-строка
Из приведенного примера видно, что операция транспонирования матриц и векторов обозначается символом ‘ (апостроф), который ставится после имени вектора или матрицы. Вычисление обратной матрицы можно делать путем вызова функции inv() или возводя матрицу в степень -1. Результат в обоих случаях будет одинаковым, а два способа вычисления сделано для удобства использования при реализации различных алгоритмов. Если в процессе вычислений требуется поэлементно умножить, разделить или возвести в степень элементы вектора или матрицы, то для этого используются операторы: .* - поэлементное умножение;
Рассмотрим
работу данных операторов на следующем примере.
a = [1 2 3]; %
вектор-строка
В заключении данного параграфа рассмотрим несколько функций полезных при работе с векторами и матрицами. Для поиска максимального значения
элемента вектора используется стандартная функция max(), которая
возвращает найденное максимальное значение элемента и его позицию (индекс):
a = [1 6 3 4];
или
v = max(a); %
v = 6;
Приведенный пример показывает два разных способа вызова функции max(). В первом случае определяется и максимальное значение элемента и его индекс в векторе, а во втором – только максимальное значение элемента. В случае с матрицами, данная функция определяет
максимальные значения, стоящие в столбцах, как показано ниже в примере:
A = [4 3 5; 6 7 2; 3 1 8];
Полный синтаксис функции max() можно узнать,
набрав в командном окне MatLab команду
help <название
функции>
Аналогичным образом работает функция min(), которая определяет минимальное значение элемента вектора или матрицы и его индекс. Другой полезной функцией работы с
матрицами и векторами является функция sum(), которая
вычисляет сумму значений элементов вектора или столбцов матрицы:
a = [3 5 4 2 1];
При вычислении суммы S2 сначала вычисляется сумма значений элементов матрицы А по столбцам, а затем, по строкам. В результате, переменная S2 содержит сумму значений всех элементов матрицы А. Для сортировки значений элементов
вектора или матрицы по возрастанию или убыванию используется функция sort() следующим
образом:
a = [3 5 4 2 1];
b1 = sort(a); %
b1=[1 2 3 4 5]
для матриц
A = [4 3 5; 6 7 2; 3 1 8];
Во многих практических задачах часто
требуется найти определенный элемент в векторе или матрице. Это можно выполнить
с помощью стандартной функции find(), которая в качестве аргумента
принимает условие, в соответствии с которым и находятся требуемые элементы,
например:
a = [3 5 4 2 1];
В приведенном примере символ ‘==’ означает проверку на равенство, а символ ‘~=’ выполняет проверку на неравенство значений элементов вектора а. Более подробно об этих операторах будет описано в разделе условные операторы. Еще одной полезной функцией работы с
векторами и матрицами является функция mean() для
вычисления среднего арифметического значения, которая работает следующим
образом:
a = [3 5 4 2 1];
|
1 |
Оглавление
|