矩阵可以有一个维度或两个维度都为零,对空矩阵的运算如Carl de Boor在An Empty Exercise,SIGNUM,第25卷,第2-6页,1990和C。N.Nett和W.M.Haddad,在A System-Theoretic Appropriate Realization of the Empty Matrix Concept,IEEE自动控制汇刊,第38卷,第5期,1993年5月。简言之,给定标量s一mxn矩阵M(mxn),和mxn空矩阵[](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稀疏矩阵表达式时,它会检查列表中的元素,以确定它们是否都是常量。如果是,则用单个矩阵常量替换列表。
版权所有 © 2024-2025 Octave中文网
ICP备案/许可证号:黑ICP备2024030411号-2