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/v6.4.0/Empty-Matrices.html