# mustBeNonzero

Validate that value is nonzero or issue error

## Syntax

``mustBeNonzero(value)``

## Description

example

``mustBeNonzero(value)` issues an error if `value` is zero. This function does not return a value.`mustBeNonzero` accepts user-defined objects if the class of the object implements these methods:`eq``isnumeric` or `islogical``

## Examples

collapse all

Use `mustBeNonzero` to validate that the input does not contain values that are zero.

`A` is an array of numbers that is the result of a calculation:

```A = sin([-1,0,1]); msutBeNonzero(A)```
```Error using mustBeNonzero (line 14) Value must not be zero.```

This class restrict the value of `Prop1` to be nonzero.

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

Create an object and assign a value to its property.

```obj = MyClass; obj.Prop1 = sin([-1,0,1]);```
```Error setting property 'Prop1' of class 'MyClass': Value must not be zero.```

When you assign a value to the property, MATLAB® calls `mustBeNonzero` with the value being assigned to the property. `mustBeNonzero` issues an error because the one of the values in `A` is zero.

This function declares two input arguments. Input `A` must be a numeric vector and input `offset` must be a scalar that is not equal to zero.

```function r = mbNonzero(A,offset) arguments A {mustBeNumeric} offset (1,1) {mustBeNonzero} end r = A + offset; end```

Calling the function with a value for `offset` equal to zero does not meet the requirements of `mustBeNonzero` and results in an error.

```A = [12.7, 45.4, 98.9, 77.1, 53.1]; r = mbNonzero(A,0);```
```Error using mbNonzero Invalid input argument at position 2. Value must not be zero.```

## Input Arguments

collapse all

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

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