MATLAB - обозначение двоеточия
В colon(:)является одним из самых полезных операторов в MATLAB. Он используется для создания векторов, массивов индексов иspecify for iterations.
Если вы хотите создать вектор-строку, содержащий целые числа от 1 до 10, вы пишете -
1:10
MATLAB выполняет инструкцию и возвращает вектор-строку, содержащий целые числа от 1 до 10 -
ans =
1 2 3 4 5 6 7 8 9 10
Если вы хотите указать значение приращения, отличное от единицы, например -
100: -5: 50
MATLAB выполняет инструкцию и возвращает следующий результат -
ans =
100 95 90 85 80 75 70 65 60 55 50
Возьмем другой пример -
0:pi/8:pi
MATLAB выполняет инструкцию и возвращает следующий результат -
ans =
Columns 1 through 7
0 0.3927 0.7854 1.1781 1.5708 1.9635 2.3562
Columns 8 through 9
2.7489 3.1416
Вы можете использовать оператор двоеточия, чтобы создать вектор индексов для выбора строк, столбцов или элементов массивов.
В следующей таблице описывается его использование для этой цели (у нас есть матрица A) -
Формат | Цель |
---|---|
A(:,j) | является j-м столбцом A. |
A(i,:) | это i-я строка матрицы A. |
A(:,:) | - эквивалентный двумерный массив. Для матриц это то же самое, что и A. |
A(j:k) | есть A (j), A (j + 1), ..., A (k). |
A(:,j:k) | это A (:, j), A (:, j + 1), ..., A (:, k). |
A(:,:,k) | k- я страница трехмерного массива A. |
A(i,j,k,:) | - вектор в четырехмерном массиве A. Вектор включает в себя A (i, j, k, 1), A (i, j, k, 2), A (i, j, k, 3) и так далее. |
A(:) | - все элементы A, рассматриваемые как один столбец. Слева от оператора присваивания A (:) заполняет A, сохраняя его форму. В этом случае правая часть должна содержать то же количество элементов, что и A. |
пример
Создайте файл сценария и введите в него следующий код -
A = [1 2 3 4; 4 5 6 7; 7 8 9 10]
A(:,2) % second column of A
A(:,2:3) % second and third column of A
A(2:3,2:3) % second and third rows and second and third columns
Когда вы запускаете файл, он отображает следующий результат -
A =
1 2 3 4
4 5 6 7
7 8 9 10
ans =
2
5
8
ans =
2 3
5 6
8 9
ans =
5 6
8 9