Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO
1.5. Векторы и матрицы в MatLabВыше были рассмотрены операции с простыми переменными. Однако с их помощью сложно описывать сложные данные, такие как случайный сигнал, поступающий на вход фильтра или хранить кадр изображения и т.п. Поэтому в языках высокого уровня предусмотрена возможность хранить значения в виде массивов. В MatLab эту роль выполняют векторы и матрицы.
Ниже показан пример задания вектора с
именем a, и содержащий
значения 1, 2, 3, 4:
a = [1 2 3 4]; %
вектор-строка
Для
доступа к тому или иному элементу вектора используется следующая конструкция
языка:
disp( a(1) ); % отображение
значения 1-го элемента вектора
т.е.
нужно указать имя вектора и в круглых скобках написать номер индекса элемента,
с которым предполагается работать. Например, для изменения значения 2-го
элемента массива на 10 достаточно записать
a(2) = 10; % изменение
значения 2-го элемента на 10
Часто возникает необходимость
определения общего числа элементов в векторе, т.е. определения его размера. Это
можно сделать, воспользовавшись функцией length() следующим
образом:
N = length(a); % (N=4) число элементов массива
а
Если требуется задать вектор-столбец, то
это можно сделать так
a = [1; 2; 3; 4]; % вектор-столбец
или
так
b = [1 2 3 4]’; %
вектор-столбец
при этом доступ к элементам векторов осуществляется также как и для векторов-строк. Следует отметить, что векторы можно
составлять не только из отдельных чисел или переменных, но и из векторов.
Например, следующий фрагмент программы показывает, как можно создавать один
вектор на основе другого:
a = [1 2 3 4]; %
начальный вектор a
= [1 2 3 4]
Здесь
вектор b состоит из шести
элементов и создан на основе вектора а. Используя этот прием, можно
осуществлять увеличение размера векторов в процессе работы программы:
a = [a 5]; % увеличение
вектора а на один элемент
Недостатком описанного способа задания
(инициализации) векторов является сложность определения векторов больших
размеров, состоящих, например, из 100 или 1000 элементов. Чтобы решить данную
задачу, в MatLab существуют
функции инициализации векторов нулями, единицами или случайными значениями:
a1 = zeros(1, 100); %
вектор-строка, 100 элементов с
Матрицы в MatLab задаются
аналогично векторам с той лишь разницей, что указываются обе размерности.
Приведем пример инициализации единичной матрицы размером 3х3:
E = [1 0 0; 0 1 0; 0 01]; %
единичная матрица 3х3
или
E = [1 0 0
Аналогичным
образом можно задавать любые другие матрицы, а также использовать приведенные
выше функции zeros(), ones() и rand(), например:
A1 = zeros(10,10); % нулевая
матрица 10х10 элементов
или
A2 = zeros(10); % нулевая
матрица 10х10 элементов
Для доступа к элементам матрицы
применяется такой же синтаксис как и для векторов, но с указанием строки и
столбца где находится требуемый элемент:
A = [1 2 3;4 5 6;7 8 9]; %
матрица 3х3
Также
возможны операции выделения указанной части матрицы, например:
B1 = A(:,1); % B1 = [1; 4; 7] – выделение
первого столбца
Размерность любой матрицы или вектора в MatLab можно
определить с помощью функции size(), которая возвращает число строк и
столбцов переменной, указанной в качестве аргумента:
a = 5; % переменная
а
|
1 |
Оглавление
|