Model discontinuity at zero, with linear gain elsewhere

Discontinuities

The Coulomb and Viscous Friction block models Coulomb (static) and viscous (dynamic) friction. The block models a discontinuity at zero and a linear gain otherwise.

The block output matches the MATLAB^{®} result for:

y = sign(x) .* (Gain .* abs(x) + Offset)

where `y`

is the output, `x`

is
the input, `Gain`

is the signal gain for nonzero
input values, and `Offset`

is the Coulomb friction.

The block accepts one input and generates one output. The input can be a scalar, vector, or matrix with real and complex elements.

For a scalar input,

`Gain`

and`Offset`

can have dimensions that differ from the input. The output is a scalar, vector, or matrix depending on the dimensions of`Gain`

and`Offset`

.For a vector or matrix input,

`Gain`

and`Offset`

must be scalar or have the same dimensions as the input. The output is a vector or matrix of the same dimensions as the input.

The Coulomb and Viscous Friction block supports real inputs of the following data types:

Floating point

Built-in integer

Fixed point

The block supports complex inputs only for floating-point data
types, `double`

and `single`

. The
output uses the same data type as the input.

For more information, see
Data Types Supported by Simulink in
the Simulink^{®} documentation.

**Coulomb friction value**Specify the offset that applies to all input values.

**Coefficient of viscous friction**Specify the signal gain for nonzero input values.

Suppose that you have the following model:

In this model, block input `x`

and `Gain`

are
scalar values, but `Offset`

is a vector. Therefore,
the block uses element-wise scalar expansion to compute the output.

Suppose that you have the following model:

In this model, vector dimensions for block input `x`

and `Offset`

are
the same.

Suppose that you have the following model:

In this model, matrix dimensions for block input `x`

and `Offset`

are
the same.

Data Types | Double | Single | Base Integer | Fixed-Point |

Sample Time | Inherited from driving block |

Direct Feedthrough | Yes |

Multidimensional Signals | No |

Variable-Size Signals | No |

Zero-Crossing Detection | Yes |

Code Generation | Yes |

Was this topic helpful?