4.1.1 Пустые матрицы
Матрица может иметь один или оба нулевых размера, а операции над пустыми матрицами обрабатываются так, как описано Карлом де Буром в статье An Empty Exercise, SIGNUM, том 25, страницы 2–6, 1990, и К. Н. Неттом и У. М. Хаддадом в статье A System-Theoretic Appropriate Realization of the Empty Matrix Concept, IEEE Transactions on Automatic Control, том 38, номер 5, май 1993. Кратко: для скаляра s, матрицы размера m на n M(mxn) и пустой матрицы размера m на n [](mxn) (у которой один или оба размера равны нулю) справедливо следующее:
s * [](mxn) = [](mxn) * s = [](mxn)
[](mxn) + [](mxn) = [](mxn)
[](0xm) * M(mxn) = [](0xn)
M(mxn) * [](nx0) = [](mx0)
[](mx0) * [](0xn) = 0(mxn) По умолчанию размеры пустой матрицы выводятся вместе с символом пустой матрицы «[]». Это поведение управляется встроенной переменной print_empty_dimensions.
-
:
val =print_empty_dimensions() -
:
old_val =print_empty_dimensions(new_val) -
:
old_val =print_empty_dimensions(new_val, "local") -
Запросить или задать внутреннюю переменную, которая определяет, выводятся ли размеры пустых матриц вместе с символом пустой матрицы «[]».
Например, выражение
zeros (3, 0)
выведет
ans = [](3x0)
При вызове из функции с параметром
"local"переменная изменяется локально для этой функции и всех вызываемых ею подпрограмм. При выходе из функции восстанавливается исходное значение переменной.См. также: format.
Пустые матрицы также можно использовать в операторах присваивания как удобный способ удаления строк или столбцов матриц. См. раздел Выражения присваивания.
При разборе выражения матрицы Octave проверяет элементы списка, чтобы определить, являются ли они константами. Если это так, список заменяется одной матричной константой.
© 1996–2026 The Octave Project Developers
Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions.
https://docs.octave.org/v9.4.0/Empty-Matrices.html