И другие программы этой серии
Чтобы изменить элемент матрицы, ему нужно присвоить новое значение:
>> A(2,3)=sin(1) % Третий элемент второй строки
A =
1.0000 2.0000 + 5.0000i 0
0.0000 3.0000 0.8415
Заметим, что изначально матрица А состояла из двух строк и столбцов. Расширение матрицы (добавление третьего элемента во вторую строку) не потребовало никаких дополнительных действий, при этом третий элемент в первой строке был обнулен автоматически.
Размер матрицы можно уточнить по команде size, а результат команды size можно использовать для организации новой матрицы. Например, нулевая матрица того же порядка, что и матрица А, будет сформирована по команде
>> A2=zeros(size(A))
A2 =
0 0 0
0 0 0
Для преобразования матрицы в матрицу с другим числом строк и столбцов служит команда reshape
>> A3=reshape(A2,3,2)
A3 =
0 0
0 0
0 0
С помощью двоеточия легко выделить часть матрицы. Например, вектор из первых двух элементов третьего столбца матрицы A задаётся выражением:
>> A(1:2,3)
ans =
0
0.8415
Двоеточие само по себе означает строку или столбец целиком. Работа с индексами в MATLAB очень удобна. Например, чтобы выделить несколько столбцов массива, достаточно организовать вектор из номеров столбцов. Это можно сделать явным перечислением, а можно указать нужный диапазон. Для выделения матрицы, составленной из нечетных столбцов матрицы А, используем команду
>> A(:,1:2:3)
ans =
1.0000 0
0.0000 0.8415
Здесь конструкция 1:2:3 означает изменение второго индекса от единицы до трех с шагом два. Двоеточие применяется также для замещения элементов матрицы. Следующая команда позволяет переставить первую и вторую строки матрицы А:
>> A([1,2],:)=A([2,1],:)
A =
0.0000 3.0000 0.8415
1.0000 2.0000 + 5.0000i 0
Здесь в качестве индекса выступают векторы [1,2] и [2,1].