mustBeNonsparse

Подтвердите то значение, неразреженно, или выдать ошибку

Синтаксис

Описание

пример

mustBeNonsparse(value) выдает ошибку если value issparse . Эта функция не возвращает значение.

mustBeNonsparse принимает пользовательские объекты, если класс объекта реализует этот метод:

Примеры

свернуть все

Используйте mustBeNonsparse чтобы подтвердить это, вход неразрежен.

Используйте sparse функция, чтобы создать разреженную матрицу.

A = [ 0   0   0   5
      0   2   0   0
      1   3   0   0
      0   0   4   0];
S = sparse(A);

Подтвердите тот S неразреженно.

mustBeNonsparse(S)
Error using mustBeNonsparse (line 13)
Values must not be sparse.

Этот класс ограничивает значение Prop1 к неразреженным значениям.

classdef MyClass
   properties
      Prop1 {mustBeNonsparse}
   end
end

Создайте объект и присвойте значение его свойству.

obj = MyClass;
A = [ 0   0   0   5
      0   2   0   0
      1   3   0   0
      0   0   4   0];
obj.Prop1 = sparse(A);
Error setting 'Prop1' property of 'MyClass' class:
Values must not be sparse.

Когда вы присваиваете значение свойству, MATLAB® вызывает mustBeNonsparse со значением, присваиваемым свойству. mustBeNonsparse выдает ошибку, потому что значение присвоило Prop1 issparse .

Эта функция ограничивает входной параметр, чтобы быть любым неразреженным значением.

function mbNonsparse(S)
    arguments
        S {mustBeNonsparse}
    end
    disp(S)
end

Вызывание этой функции с разреженным массивом приводит к ошибке, будучи выданным mustBeNonsparse.

A = [ 0   0   0   5
      0   2   0   0
      1   3   0   0
      0   0   4   0];
S = sparse(A);
mbNonsparse(S)
Error using mbNonsparse
Invalid input argument at position 1. Value must not be sparse.

Входные параметры

свернуть все

Значение, чтобы подтвердить в виде скаляра или массива любого из следующего:

  • logical или числовой класс

  • Классы MATLAB та реализация issparse

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char
Поддержка комплексного числа: Да

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

Введенный в R2017a