Documentation

Algebraic Constraint

Constrain input signal

  • Library:
  • Simulink / Math Operations

Description

The Algebraic Constraint block constrains the input signal f(z) to z or 0 and outputs an algebraic state z. The block outputs a value that produces 0 or z at the input. The output must affect the input through a direct feedback path. In other words, the feedback path only contains blocks with direct feedthrough. For example, you can specify algebraic equations for index 1 differential-algebraic systems (DAEs).

Ports

Input

expand all

Signal is subjected to the constraint f(z) = 0 or f(z) = z to solve the algebraic loop.

Data Types: double

Output

expand all

Solution to the algebraic loop when the input signal f(z) is subjected to the constraint f(z) = 0 or f(z) = z.

Data Types: double

Parameters

expand all

Type of constraint for which to solve. You can Choice to solve for f(z) = 0 or f(z) = z

Choice between the Trust Region [1], [2] or Line Search [3] algorithms to solve the algebraic loop. By default this value is set to auto, which selects the solver based on the model configuration

This option is visible when you explicitly specify a solver to be used (Trust region or Line Search) in the Solver dropdown menu. Specify a smaller value for higher accuracy or a larger value for faster execution. By default it is set to auto.

Initial guess for the algebraic state z that is close to the expected solution value to improve the efficiency of the algebraic loop solver. By default, this value is set to 0

Block Characteristics

Data Types

double

Multidimensional Signals

No

Variable-Size Signals

No

References

[1] Garbow, B. S., K. E. Hillstrom, and J. J. Moré. User Guide for MINPACK-1. Argonne, IL: Argonne National Laboratory, 1980.

[2] Rabinowitz, P. H. Numerical Methods for Nonlinear Algebraic Equations. New York: Gordon and Breach, 1970.

[3] Kelley, C. T. Iterative Methods for Linear and Nonlinear Equations. Society for Industrial and Applied Mathematics, Philadelphia, PA: 1995.

Introduced before R2006a

Was this topic helpful?