|
Динамическое изменение размера матрицыМатрицы могут динамически изменять свой размер в процессе выполнения программы. Это позволяет адаптировать размер уже созданной матрицы к тем данным, которые ей предстоит хранить. В следующем примере мы создадим матрицу 2 х 3: -->А = [1 2 3; 4 5 6] А = 1. 2. 3. 2. 5. 6. Далее мы добавим в эту матрицу элемент с индексами (3,1). При этом в матрице будет создана третья строка, и первому элементу в ней будет присвоено 7, а значения остальных элементов данной строки будут установлены в 0. -->А(3, 1) = 7 А = 1. 2. 3. 4. 5. 6. 7. 0. 0. Таким образом, размер матрицы может увеличиваться динамически. Далее мы покажем, что возможно и его динамическое уменьшение. Для этого, используя обозначение пустой матрицы [] , удалим третий столбец матрицы А: — >А(: , 3) = [] А = 1. 2. 4. 5. 7. 0. Также можно полностью изменить размер матрицы посредством функции matrix. Эта функция трансформирует исходную матрицу в матрицу другого размера, копируя элементы столбец за столбцом. В следующем примере матрица А размером 3 х 2 = 6 преобразуется в вектор-строку с 6 элементами: -->В = matrix(A, 1, 6) В = 1. 4. 7. 2. 5. 0. A(i,$) элемент на пересечении i-ой строки и последнего nс-ого столбца A($,j) элемент на пересечении последней (nr-ой) строки и j-oгo столбца A($-i,$-j) элемент на пересечении строки nr-i и столбца nс-j
Таблица 12: Доступ к элементам матрицы с использованием оператора " $". Предполагается, что матрица А имеет размер (nr, nc). |
|
© vse-o-scilab |