# dsp.Minimum

(To be removed) Find minimum values of input or sequence of inputs

## Description

The `dsp.Minimum` object finds the minimum value of an input or sequence of inputs.

### Note

The `dsp.Minimum` System object™ will be removed in a future release. To compute the minimum, use the `min` function. To compute the running minimum in MATLAB®, use the `dsp.MovingMinimum` object. For more information, see Compatibility Considerations.

To compute the minimum value of an input or sequence of inputs:

1. Create the `dsp.Minimum` object and set its properties.

2. Call the object with arguments, as if it were a function.

## Creation

### Syntax

``min = dsp.Minimum``
``min = dsp.Minimum(Name,Value)``

### Description

````min = dsp.Minimum` returns an object, `min`, that computes the value and/or index of the minimum elements in an input or a sequence of inputs over the specified `Dimension`.```
````min = dsp.Minimum(Name,Value)` returns a minimum-finding object, `min`, with each specified property set to the specified value.```

## Properties

expand all

Unless otherwise indicated, properties are nontunable, which means you cannot change their values after calling the object. Objects lock when you call them, and the `release` function unlocks them.

If a property is tunable, you can change its value at any time.

Set this property to `true` in order to output the minimum value of the input. Set this property to `false` in order to output the index of the minimum value of the input.

#### Dependencies

This property applies only when you set the `RunningMinimum` property to `false`.

When you set this property to `true`, the object computes the minimum value over successive calls to the object algorithm. When you set this property to `false`, the object computes the minimum value over the current input.

Set this property to `true` to output the index of the minimum value of the input.

#### Dependencies

This property applies only when you set the `RunningMinimum` property to `false`.

Set this property to `true` to enable resetting of the running minimum. When you set this property to `true`, you must specify a reset input argument to the object to reset the running minimum. This property applies only when you set the `RunningMinimum` property to `true`.

Specify the event that resets the running minimum. This property applies only when you set the ResetInputPort property to `true`.

Specify the numbering used when computing the index of the minimum value as starting from either `One` or `Zero`.

#### Dependencies

This property applies only when you set the `IndexOutputPort` property to `true`.

Specify how the minimum calculation is performed over the data.

#### Dependencies

This property applies when you set the `RunningMinimum` property to `false`.

Specify the integer dimension of the input signal over which the object finds the minimum. The cannot exceed the number of dimensions in the input signal.

#### Dependencies

This property only applies when you set the Dimension property to `Custom`.

Data Types: `single` | `double` | `int8` | `int16` | `int32` | `int64` | `uint8` | `uint16` | `uint32` | `uint64`

### Fixed-Point Properties

Specify the rounding method.

Specify the overflow action.

Specify the product fixed-point data type.

Specify the product fixed-point type as a scaled `numerictype` object with a `Signedness` of `Auto`.

#### Dependencies

This property applies only when you set the `AccumulatorDataType` property to `Custom`.

Specify the accumulator fixed-point data type as one of | ```Same as product``` | `Same as input` | `Custom` |.

Specify the accumulator fixed-point type as a scaled `numerictype` object with a `Signedness` of `Auto`.

#### Dependencies

This property applies only when you set the `AccumulatorDataType` property to `Custom`.

## Usage

### Syntax

``[val,ind] = min(x)``
``val = min(x)``
``ind = min(x)``
``val = min(x,r)``

### Description

````[val,ind] = min(x)` returns the minimum value, `val`, and the index or position of the minimum value, `ind`, along the specified `Dimension` of `x`.```
````val = min(x)` returns the minimum value, `val`, of the input `x`. When the `RunningMinimum` property is `true`, `val` corresponds to the minimum value over successive calls to the algorithm.```
````ind = min(x)` returns the zero- or one-based index `ind` of the minimum value when the `IndexOutputPort` property is `true` and the `ValueOutputPort` property is `false`. You must set the `RunningMinimum` property to `false` to use this syntax.```
````val = min(x,r)` resets the state of `min` based on the value of reset signal, `r`, and the `ResetCondition` property. To enable this type of processing, set the `RunningMinimum` property to `true` and the `ResetInputPort` property to `true`.```

### Input Arguments

expand all

Data input, specified as a vector or a matrix. If `x` is a matrix, each column is treated as an independent channel. The minimum is determined along each channel. The object also accepts variable-size inputs. Once the object is locked, you can change the size of each input channel.

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

Reset signal used to reset the running minimum, specified as a scalar value. The object resets the running minimum if the reset signal satisfies the `ResetCondition`.

#### Dependencies

To enable this signal, set the `RunningMinimum` property to `true` and the `ResetInputPort` property to `true`.

Data Types: `single` | `double` | `int8` | `int16` | `int32` | `uint8` | `uint16` | `uint32` | `logical`

### Output Arguments

expand all

Minimum value of the input, returned as a scalar or a vector. The object determines the minimum value of the input along each channel. If the input is a column vector, the output is a scalar. If the input is a multichannel signal, the output signal is a 1-by-N vector, where N is the number of input channels.

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

Indices of the minimum values of the input, returned as a scalar or a vector. The object determines the indices of the minimum values of the input along each channel. If the input is a column vector, the output is a scalar. If the input is a multichannel signal, the output signal is a 1-by-N vector, where N is the number of input channels.

Data Types: `double` | `uint32`

## Object Functions

To use an object function, specify the System object as the first input argument. For example, to release system resources of a System object named `obj`, use this syntax:

`release(obj)`

expand all

 `step` Run System object algorithm `release` Release resources and allow changes to System object property values and input characteristics `reset` Reset internal states of System object

## Examples

### Compute Minimum and Running Minimum of Signal

Note: If you are using R2016a or an earlier release, replace each call to the object with the equivalent `step` syntax. For example, `obj(x)` becomes `step(obj,x)`.

Find a minimum value and its index.

``` min1 = dsp.Minimum; x = randn(100,1); [y, I] = min1(x) %#ok```
```y = -2.9443 ```
```I = 35 ```

Compute a running minimum.

``` min2 = dsp.Minimum; min2.RunningMinimum = true; x = randn(100,1); y = min2(x); plot(y);```

y(i) is the minimum of all values in the vector x(1:i).

## Algorithms

This object implements the algorithm, inputs, and outputs described on the Minimum block reference page. The object properties correspond to the block parameters.

## Compatibility Considerations

expand all

Warns starting in R2019b

Watch now