ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 04.05.2019
Просмотров: 467
Скачиваний: 1
Лекция 6
2.5. Работа с матрицами и векторами
2.5.1. Ввод, сложение и вычитание векторов и матриц
Как уже отмечено выше, МаНЬаЬ работает с данными в виде массивов
- упорядоченных и пронумерованных совокупностей однородных данных.
Массивы отличаются по числу размерностей: одномерные, двухмерные, мно
гомерные. Размером массива называется число элементов вдоль каждого из
измерений. Одномерные массивы в виде строки или столбца называются со
ответственно вектор-строка и вектор-столбец. Двухмерные массивы называ
ют матрицами.
Для ввода значений матриц и векторов используются квадратные скоб
ки. Для ввода значений строки эти значения отделяют друг от друга пробе
лами или запятыми, например
V =
Для задания нескольких строк используется знак «;», например
М =
Возможен ввод элементов матриц и векторов в виде арифметических
выражений, содержащих любые доступные программе функции, например
» V = [ 2 + 2 / ( 3+4)
ехр (5)
5 ^ ^ 1 ; ( 1 0 ) ]
V =
2 . 2 8 5 7
1 4 8 . 4 1 3 2
3 . 1 6 2 3
Для указания отдельного элемента вектора или матрицы используются
выражения вида У(1) или М (у), например
» М ( 2 , 2 )
апз =
5
Если элементу М(2,3) нужно присвоить новое значение 15, то следует
использовать выражение
» М ( 2 , 3)
= 1 5
2
Можно использовать выражение с одним индексом для матриц, в этом
случае осуществляется доступ к элементам матрицы, развернутым в один
столбец. Например:
» М (7)
а п з =
3
При сложении векторов и матриц происходит поэлементное сложение
двух векторов или матриц. Матрицы при этом должны быть одинакового
размера. Аналогично осуществляется и вычитание матриц и векторов. Пусть
даны два вектора А и В
» А = [ 1 . 3 ; 5 . 4 ; 6 . 9 ]
А =
1 . 3 0 0 0
5 . 4 0 0 0
6 . 9 0 0 0
» В = [ 7 . 1 ; 3 . 5 ; 8 . 2 ]
В =
7 . 1 0 0 0
3 . 5 0 0 0
8 . 2 0 0 0
Для нахождения суммы используется знак «+», а вычисление суммы
двух векторов будет выглядеть следующим образом
» С = А + В
С =
8 . 4 0 0 0
8 . 9 0 0 0
1 5 . 1 0 0 0
Аналогично производится вычитание векторов, а также сложение и
вычитание матриц.
Особенность Ма1:ЬаЬ представлять все данные в виде массивов являет
ся очень удобной. Пусть, например, требуется вычислить значение функции
81
п сразу для всех элементов вектора С и записать результат вычислений в
вектор Б. Для этого используется следующий оператор
» Ц = 5Л-П(С)
О =
0 . 1 4 6 1
0 . 1 5 4 7
0 . 2 6 0 5
3
Таким образом, встроенные элементарные функции приспосабливают
ся к виду аргументов. Если аргумент является массивом, то результат функ
ции будет массивом того же размера с элементами, равными функции от со
ответствующих элементов исходного массива. В других математических си
стемах ввод такого оператора сопровождалось бы ошибкой.
2.5.2.
Использование символа двоеточия. Объединение матриц и
векторов, удаление их элементов
Символ двоеточия имеет два назначения. Во-первых, он может быть
использован при создании векторов, каждый элемент которых отличается от
предыдущего на постоянную величину. Например, следующий оператор
приводит к созданию вектора-строки
» х = [ 1 : 0 . 2 : 2 ]
х =
1 . 0 0 0 0
1 . 2 0 0 0
1 . 4 0 0 0
1 . 6 0 0 0
1 . 8 0 0 0
2 . 0 0 0 0
В квадратных скобках указывается значение первого элемента вектора,
затем через двоеточие шаг изменения каждого последующего элемента и за
тем через двоеточие указывается конечное значение. При этом конечное зна
чение не обязательно должно равняться сумме предпоследнего значения и
шага - вектор-строка заполнится до элемента, не превосходящего конечное
значение. Например, если в последнем примере конечное значение принять
1,9, то последний элемент вектора будет 1,8. Шаг может быть и отрицатель
ным, в этом случае конечное значение должно быть меньше начального.
Шаг, равный единице, можно не указывать.
Если необходимо аналогично составить вектор-столбец, то следует за
полнить вектор-строку и затем ее транспонировать, например
» х = [ 1 : 0 . 2 : 2 ] '
х =
1
. 0 0 0 0
1.2000
1 .
4 0 0 0
1 . 6 0 0 0
1 . 8 0 0 0
2.0000
Для транспонирования векторов и матриц используется символы точки
с апострофом, а для получения комплексно сопряженного вектора и матрицы
используется символ апострофа. Для вещественных матриц и векторов эти
операции равноценны и приводят к транспонированию, как это показано вы
ше, так как использование двоеточия приводит к созданию только веще
ственных матриц и векторов.
Для обращения к блокам последовательно расположенных элементов
матриц и векторов служит также символ двоеточия. Например, требуется в
векторе XV из семи элементов заменить со 2-го по 6-ой нулями. С индексаци
ей с помощью двоеточия это решается следующим образом:
» И = [ 0 . 1
2 . 9
3 . 3
5 . 1
2 . 6
7 . 1
9 . 8 ] ;
» И (2 : 6) = 0 ;
» N
И =
0 . 1 0 0 0
0
0
0
0
0
9 . 8 0 0 0
4
Индексация с помощью двоеточия удобна при выделении части из
большого объема данных в новый массив:
» N1 = N ( 3 : 5 )
N1 =
3 . 3 0 0 0
5 . 1 0 0 0
2 . 6 0 0 0
Если необходимо выделить прямоугольный блок из существующей
матрицы, то номера строк и столбцов задаются с помощью двоеточий и отде
ляются друг от друга запятой, например:
» Р = [ 1 2 0 2 ; 4 1 0 1 2 5 ; 0 1 1 1 0 5 ; 9 2 3 5]
Р =
1
2
0
2
4
1 0
1 2
5
0
11
1 0
5
9
2
3
5
» й = Р ( 2 : 3 , 2 : 3 )
О =
10
12
11
10
В случае, когда требуется выделить из матрицы строку или столбец,
вместо одного из индексов ставится двоеточие, например:
» Р1 = Р ( 2 ,
: )
Р1 =
4
1 0
1 2
5
Часто бывает необходимо удалить отдельные строки или столбцы мат
риц и векторов. С этой целью используются пустые квадратные скобки [ ].
Например, для удаления второй строки из матрицы Р необходимо ввести
оператор
» Р(2, :) = [ ]
а для удаления второго столбца этой матрицы следует ввести оператор
5
» Р ( : , 2 ) = [ ]
Рассмотренный выше способ ввода элементов матриц позволяет его
использовать и для объединения нескольких малых матриц в одну большую.
Например, если необходимо построить матрицу на основании четырех дру
гих, то в качестве элементов этой матрицы при вводе указываются имена
подматриц
» А = [ 1 2 ; 3 4]
А =
» А1 = [ А А + 2 ; А + 3 А+ 4 ]
А1 =
2.5.3. Создание матриц специального вида
Ма1ЬаЬ имеет ряд встроенных функций, которые позволяют быстро и
легко создать некоторые специальные матрицы.
Для создания прямоугольной матрицы, элементы которой равны нулю,
используется функция
гегоз,
аргументами которой являются число строк и
столбцов матрицы, например
» А = 2 е г о з ( 3 , 4 )
А =
Если задать только один аргумент, например 3, то будет создана квад
ратная нулевая матрица 3 x 3 .
Единичная квадратная матрица создается с помощью функции
еуе,
при
этом по главной ее диагонали располагаются единицы, а остальные элементы
равны нулю
» I = е у е ( 4 )
I =