mustBeNumeric

Validate that value is numeric

Syntax

``mustBeNumeric(value)``

Description

example

``mustBeNumeric(value)` throws an error if `value` contains nonnumeric. This function does not return a value.`mustBeNumeric` calls the following function to determine if the input is numeric:`isnumeric`This function ignores input arguments that are empty values. Therefore, no error is thrown when the property or function argument value is empty.`

Examples

collapse all

Validate that the result of an operation is numeric.

`mustBeNumeric(5 < 10)`
```Values must be numeric. ```

The relational operator for less than returns a logical value.

This class restricts the value of `Prop1` to numeric values.

```classdef MyClass properties Prop1 {mustBeNumeric} end end```

Create an object and assign a value to its property.

```obj = MyClass; obj.Prop1 = isprime(29);```
```Error setting 'Prop1' property of 'MyClass' class: Values must be numeric.```

When you assign a value to the property, MATLAB® calls `mustBeNumeric` with the value being assigned to the property. `mustBeNumeric` issues an error because the value assigned to `Prop1` is a logical.

This function restricts the input argument to a numeric vector.

```function r = mbNumeric(x) arguments x (1,:) {mustBeNumeric} end p = [3 2 1]; r = polyval(p,x); end```

Calling this function with a character vector results in an error being thrown by `mustBeNumeric`.

```x = '4 3 2'; r = mbNumeric(x);```
```Error using mbNumeric r = mbNumeric(x); ↑ Invalid input argument at position 1. Value must be numeric.```

Input Arguments

collapse all

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

• Any MATLAB numeric class

• MATLAB classes that derive from a MATLAB numeric type or that overload `isnumeric`

Data Types: `single` | `double` | `int8` | `int16` | `int32` | `int64` | `uint8` | `uint16` | `uint32` | `uint64`
Complex Number Support: Yes

Tips

• `mustBeNumeric` is designed to be used for property and function argument validation.

Version History

Introduced in R2017a