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)
- print_empty_dimensions (new_val, "local")
-
Запрос или установка внутренней переменной, которая управляет тем, отображаются ли размерности пустых матриц вместе с символом пустой матрицы ‘[]’.
Например, выражение
zeros (3, 0)
выведет
ans = [](3x0)
Когда функция вызывается изнутри другой функции с параметром
"local", переменная изменяется локально для функции и всех вызываемых ею подпрограмм. Исходное значение переменной восстанавливается при выходе из функции.См. также: format.
Пустые матрицы также могут использоваться в операторах присваивания как удобный способ удаления строк или столбцов матриц. См. Операции присваивания.
При разборе Octave выражения матрицы, оно проверяет элементы списка, чтобы определить, являются ли все они константами. Если это так, то список заменяется на одну константу матрицы.
© 1996–2022 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/v5.2.0/Empty-Matrices.html