4.1.1空矩阵

矩阵可以有一个维度或两个维度都为零,对空矩阵的运算如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月。简言之,给定标量smxn矩阵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