主要内容

mustBeSparse

验证该值为稀疏值

自 R2023b 起

说明

如果 value 不是稀疏值,mustBeSparse(value) 将抛出错误。如果 value 为空,则该函数不会抛出错误。此函数不返回值。

mustBeSparse 调用 issparse 函数来确定输入是否为稀疏值。

支持的类:重载 issparse 的所有数值类、logical 和 MATLAB® 类。

示例

示例

全部折叠

验证矩阵是否为稀疏矩阵。mustBeSparse 函数因该矩阵不是稀疏矩阵而抛出错误。

X = rand(100);
mustBeSparse(X)
Value must be sparse.

此类将 Prop1 的值限制为稀疏矩阵。

classdef MyClass
   properties
      Prop1 {mustBeSparse}
   end
end

创建一个对象,并向其属性赋值。

x = rand(100);
obj = MyClass;
obj.Prop1 = x.^2;
Error using implicit default value of property 'Prop1' of class 'MyClass'. Value must be sparse.

当您向属性赋值时,MATLAB 会使用赋给属性的值调用 mustBeSparsemustBeSparse 将引发错误,因为赋给 Prop1 的值不是稀疏值。

此函数将输入参量限制为 10×10 稀疏矩阵。

function r = sparseDiag(z)
    arguments
        z (10,10) {mustBeSparse}
    end
    r = diag(z);
end

使用非稀疏值调用该函数会导致 mustBeSparse 抛出错误。

z = eye(10);
r = sparseDiag(z);
Error using sparseDiag (line 3)
 r = sparseDiag(z);
                ^
Invalid argument at position 1. Value must be sparse.

输入参数

全部折叠

要验证的值,指定为标量或由以下任一类型的值组成的数组:

其他数据类型会导致错误。

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical
复数支持:

提示

  • mustBeSparse 用于属性和函数参量验证。

扩展功能

全部展开

C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。

GPU 代码生成
使用 GPU Coder™ 为 NVIDIA® GPU 生成 CUDA® 代码。

版本历史记录

在 R2023b 中推出