Оператор "$"
Обычно при обращении к элементам матрицы, отсчет индексов ведется от первой строки и первого столбца. Оператор "$" позволяет адресовать элементы матрицы, отсчитывая индексы от последней строки или столбца в зависимости от контекста.
Различные варианты использования оператора "$" приведены в табл. 12. Следующий фрагмент демонстрирует использование оператора " $" для доступа к элементу
А(2,1) = A(nr-l,nc-2) = А($-1,$-2) матрицы 3 х 3:
-->A=testmatrix("hilb", 3)
А =
9. -36. 30.
-36. 192. -180.
30. -180. 180.
-->А($ - 1, $ - 2)
ans =
-36.
Оператор "$" позволяет динамически добавлять элементы в последнюю строку или столбец матрицы. В следующем примере в Гильбертову матрицу добавляется новая строка:
>А($ + 1, :) = [1 2 3]
A=
9. -36. 30.
-36. 192. -180
30. -180. 180
1. 2. 3.
Чаще всего оператор "$" используется в составе выражения $+1, которое позволяет добавлять в матрицу строки или столбцы. Такой способ оказывается удобным, поскольку избавляет от необходимости постоянно корректировать число строк и столбцов. Однако пользоваться им необходимо аккуратно, лишь в тех случаях, когда размер матрицы не известен заранее. Поскольку при каждом добавлении строки или столбца требуется выделение памяти под матрицу большего размера и копирование всех элементов из исходной матрицы, злоупотребление этой возможностью может привести к существенному снижению производительности программы.