Выше были рассмотрены операции с простыми переменными. Однако с их помощью сложно описывать сложные данные, такие как случайный сигнал, поступающий на вход фильтра или хранить кадр изображения и т.п. Поэтому в языках высокого уровня предусмотрена возможность хранить значения в виде массивов. В MatLab эту роль выполняют векторы и матрицы.
Ниже показан пример задания вектора с именем a, и содержащий значения 1, 2, 3, 4:
a = [1 2 3 4]; % вектор-строка
Для доступа к тому или иному элементу вектора используется следующая конструкция языка:
disp( a(1) ); % отображение значения 1-го элемента вектора
disp( a(2) ); % отображение значения 2-го элемента вектора
disp( a(3) ); % отображение значения 3-го элемента вектора
disp( a(4) ); % отображение значения 4-го элемента вектора
т.е. нужно указать имя вектора и в круглых скобках написать номер индекса элемента, с которым предполагается работать. Например, для изменения значения 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 5 6]; % второй вектор b = [1 2 3 4 5 6]
Здесь вектор b состоит из шести элементов и создан на основе вектора а. Используя этот прием, можно осуществлять увеличение размера векторов в процессе работы программы:
a = [a 5]; % увеличение вектора а на один элемент
Недостатком описанного способа задания (инициализации) векторов является сложность определения векторов больших размеров, состоящих, например, из 100 или 1000 элементов. Чтобы решить данную задачу, в MatLab существуют функции инициализации векторов нулями, единицами или случайными значениями:
a1 = zeros(1, 100); % вектор-строка, 100 элементов с
% нулевыми значениями
a2 = zeros(100, 1); % вектор-столбец, 100 элементов с
% нулевыми значениями
a3 = ones(1, 1000); % вектор-строка, 1000 элементов с
% единичными значениями
a4 = ones(1000, 1); % вектор-столбец, 1000 элементов с
% единичными значениями
a5 = rand(1000, 1); % вектор-столбец, 1000 элементов со
% случайными значениями
Матрицы в MatLab задаются аналогично векторам с той лишь разницей, что указываются обе размерности. Приведем пример инициализации единичной матрицы размером 3х3:
E = [1 0 0; 0 1 0; 0 01]; % единичная матрица 3х3
E = [1 0 0
0 1 0
0 0 1]; % единичная матрица 3х3
Аналогичным образом можно задавать любые другие матрицы, а также использовать приведенные выше функции zeros(), ones() и rand(), например:
A1 = zeros(10,10); % нулевая матрица 10х10 элементов
A2 = zeros(10); % нулевая матрица 10х10 элементов
A3 = ones(5); % матрица 5х5, состоящая из единиц
A4 = rand(100); % матрица 100х100, из случайных чисел
Для доступа к элементам матрицы применяется такой же синтаксис как и для векторов, но с указанием строки и столбца где находится требуемый элемент:
A = [1 2 3;4 5 6;7 8 9]; % матрица 3х3
disp( A(2,1) ); % вывод на экран элемента, стоящего во
% второй строке первого столбца, т.е. 4
disp( A(1,2) ); % вывод на экран элемента, стоящего в
% первой строке второго столбца, т.е. 2
Также возможны операции выделения указанной части матрицы, например:
B1 = A(:,1); % B1 = [1; 4; 7] – выделение первого столбца
B2 = A(2,:); % B2 = [1 2 3] – выделение первой строки
B3 = A(1:2,2:3); % B3 = [2 3; 5 6] – выделение первых двух
% строк и 2-го и 3-го столбцов матрицы А.
Размерность любой матрицы или вектора в MatLab можно определить с помощью функции size(), которая возвращает число строк и столбцов переменной, указанной в качестве аргумента:
a = 5; % переменная а
A = [1 2 3]; % вектор-строка
B = [1 2 3; 4 5 6]; % матрица 2х3
size(a) % 1х1
size(A) % 1х3
size(B) % 2х3
© 2022 Научная библиотека
Копирование информации со страницы разрешается только с указанием ссылки на данный сайт
Видео:Математика это не ИсламСкачать
MATLAB — Векторы
Вектор — это одномерный массив чисел. MATLAB позволяет создавать два типа векторов —
- Векторы строк
- Векторы столбцов
Видео:Matlab создание вектора данныхСкачать
Строки Векторы
Векторы строк создаются путем заключения набора элементов в квадратных скобках с использованием пробела или запятой для разделения элементов.
MATLAB выполнит приведенный выше оператор и вернет следующий результат —
Видео:Работа с массивами. Вектор столбцы и вектор строки 1. Урок 7Скачать
Векторы столбцов
Векторы столбцов создаются заключением набора элементов в квадратные скобки с использованием точки с запятой для разделения элементов.
MATLAB выполнит приведенный выше оператор и вернет следующий результат —
Видео:Нахождение длины вектора через координаты. Практическая часть. 9 класс.Скачать
Ссылка на элементы вектора
Вы можете ссылаться на один или несколько элементов вектора несколькими способами. I- й компонент вектора v обозначается как v (i). Например —
MATLAB выполнит приведенный выше оператор и вернет следующий результат —
Когда вы ссылаетесь на вектор с двоеточием, например, v (:), в нем отображаются все компоненты вектора.
Видео:Основы линейной алгебры. 2. Векторы. Часть 1Скачать
colon , :
Vector creation, array subscripting, and for -loop iteration
Видео:2-4 MATLAB - Матрицы и индексацияСкачать
Syntax
Видео:Собственные значения и собственные векторы матрицы (4)Скачать
Description
The colon is one of the most useful operators in MATLAB ® . It can create vectors, subscript arrays, and specify for iterations.
x = j : k creates a unit-spaced vector x with elements [j,j+1,j+2. j+m] where m = fix(k-j) . If j and k are both integers, then this is simply [j,j+1. k] .
x = j : i : k creates a regularly-spaced vector x using i as the increment between elements. The vector elements are roughly equal to [j,j+i,j+2*i. j+m*i] where m = fix((k-j)/i) . However, if i is not an integer, then floating point arithmetic plays a role in determining whether colon includes the endpoint k in the vector, since k might not be exactly equal to j+m*i . If you specify nonscalar arrays, then MATLAB interprets j:i:k as j(1):i(1):k(1) .
x = colon(j,k) and x = colon(j,i,k) are alternate ways to execute the commands j:k and j:i:k , but are rarely used. These syntaxes enable operator overloading for classes.
A(:,n) , A(m,:) , A(:) , and A(j:k) are common indexing expressions for a matrix A that contain a colon. When you use a colon as a subscript in an indexing expression, such as A(:,n) , it acts as shorthand to include all subscripts in a particular array dimension. It is also common to create a vector with a colon for the purposes of indexing, such as A(j:k) . Some indexing expressions combine both uses of the colon, as in A(:,j:k) .
Common indexing expressions that contain a colon are:
A(:,n) is the n th column of matrix A .
A(m,:) is the m th row of matrix A .
A(. p) is the p th page of three-dimensional array A .
A(:) reshapes all elements of A into a single column vector. This has no effect if A is already a column vector.
A(. ) reshapes all elements of A into a two-dimensional matrix. This has no effect if A is already a matrix or vector.
A(j:k) uses the vector j:k to index into A and is therefore equivalent to the vector [A(j), A(j+1), . A(k)] .
A(:,j:k) includes all subscripts in the first dimension but uses the vector j:k to index in the second dimension. This returns a matrix with columns [A(:,j), A(:,j+1), . A(:,k)] .
🔍 Видео
MATLAB 04 Массивы и матрицыСкачать
Собственные векторы и собственные значения матрицыСкачать
Инструменты LDRA для верификации ПО: Создание тестовых векторов в MATLABСкачать
MatLab. 3. 2b. Сложение, вычитание и умножение векторовСкачать
18+ Математика без Ху!ни. Скалярное произведение векторов. Угол между векторами.Скачать
Операции над векторами matlabСкачать
Вектор. Сложение и вычитание. 9 класс | МатематикаСкачать
MatLab. 3.2. Двумерные массивы чисел: матрицы и векторыСкачать
Работа с массивами. Обращение к элементам вектора. Урок 9Скачать
Линейная алгебра для Data Science: Программируем Вектор на MATLAB #datascience #matlab #shortsСкачать
Собственные значения и собственные векторыСкачать
MatLab. Урок 3. Функции и построение графиков.Скачать