| Simulink® | ![]() |
User-Defined Functions
The Fcn block applies the specified mathematical expression to its input. The expression can be made up of one or more of these components:
u — The input to the block. If u is a vector, u(i) represents the ith element of the vector; u(1) or u alone represents the first element.
Numeric constants
Arithmetic operators (+ - * /^)
Relational operators (== != > < >= <=) — The expression returns 1 if the relation is true; otherwise, it returns 0.
Logical operators (&& || !) — The expression returns 1 if the relation is true; otherwise, it returns 0.
Parentheses
Mathematical functions — abs, acos, asin, atan, atan2, ceil, cos, cosh, exp, fabs, floor, hypot, ln, log, log10, pow, power, rem, sgn, sin, sinh, sqrt, tan, and tanh.
Workspace variables — Variable names that are not recognized in the preceding list of items are passed to MATLAB® for evaluation. Matrix or vector elements must be specifically referenced (e.g., A(1,1) instead of A for the first element in the matrix).
The Fcn block observes the following rules of operator precedence:
The expression differs from a MATLAB expression in that the expression cannot perform matrix computations. Also, this block does not support the colon operator (:).
Block input can be a scalar or vector. The output is always a scalar. For vector output, consider using the Math Function block. If a block input is a vector and the function operates on input elements individually (for example, the sin function), the block operates on only the first vector element.
The Fcn block accepts and outputs signals of type single or double.

The mathematical expression applied to the input. Expression components are listed above. The expression must be mathematically well formed (i.e., matched parentheses, proper number of function arguments, etc.).
Note You cannot tune the expression during accelerated-mode simulation (see Accelerating Models), in referenced models executing in Accelerator mode (see Referencing a Model, or in generated code. The Fcn block does not support custom storage classes. See Custom Storage Classes. |
Specify the time interval between samples. To inherit the sample time, set this parameter to -1. See Specifying Sample Time in the online documentation for more information.
Direct Feedthrough | Yes |
Sample Time | Inherited from driving block |
Scalar Expansion | No |
Dimensionalized | No |
Zero Crossing | No |
![]() | Extract Bits | First-Order Hold | ![]() |
| © 1984-2008- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |