mustBeGreaterThan

Validate that value is greater than another value or issue error

Description

example

mustBeGreaterThan(value,c) issues an error if any elements in value are not greater than the scalar c. This function does not return a value.

mustBeGreaterThan accepts user-defined objects if the class of the object implements these methods:

This function ignores empty values in the first input argument. Therefore, no error is thrown when the property or function argument value is empty.

Examples

collapse all

Use mustBeGreaterThan to validate that the values in the first input are greater than the value of the second input.

mustBeGreaterThan([2 3 4],2)
Error using mustBeGreaterThan (line 19)
Value must be greater than 2.

This class restricts the value of Prop1 to be greater than 2.

classdef MyClass
   properties
      Prop1 {mustBeGreaterThan(Prop1,2)}
   end
end

Create an object and assign a value to its property.

obj = MyClass;
Obj.Prop1 = 2;
Error setting property 'Prop1' of class 'MyClass':
Value must be greater than 2.

When you assign a value to the property, MATLAB® calls mustBeGreaterThan with the value being assigned to the property. mustBeGreaterThan issues an error because the value 2 is not greater than 2.

This function restricts the input argument to be values that are greater than 5.

function r = mbGreaterThan(x)
    arguments
        x {mustBeGreaterThan(x,5)}
    end
    r = x - 5;
end

Calling the function with a vector that contains values that are less than or equal to 5 does not meet the requirements defined with mustBeGreaterThan and results in an error.

x = [12.7, 45.4, 5.0, 77.1, 53.1];
r = mbGreaterThan(x);
Error using mbGreaterThan
Invalid input argument at position 1. Value must be greater than 5.

Input Arguments

collapse all

Value to validate, specified as a scalar or an array of one of the following:

Constant value that the value argument must be greater than, specified as a scalar of one of the following:

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.

Introduced in R2017a