Dan Seal, MathWorks
MATLAB function blocks provide an easy way of including MATLAB code and Simulink models. You can find the MATLAB function block in the user-defined functions library. Double clicking on the block opens up the MATLAB Editor, where you can write your function. You can give the function a name, specify input and output variables, and then start coding your algorithm.
Here I am specifying two inputs, u1 and u2, and two outputs, y1 and y2. I'll define the outputs as the sum and product of the inputs. Saving the MATLAB function block code also saves the model. Let's connect the input signals for u1 and u2 and connect y1 and y2 to a scope to visualize the results.
Here is an example where a more complex set of equations has been incorporated into a simulated model using a MATLAB function block. You can write MATLAB statements to compute mathematical expressions, as shown here. MATLAB function blocks allow you to use a large number of MATLAB functions for simulation and code generation.
You can look at the complete list of supported functions from the Help menu. The list includes a wide variety of math, signal processing, and data management functions. To gain full access to MATLAB functionality for simulation purposes, you can use functions other than the ones in the supported list by declaring them as extrinsic. You can easily debug the code in a MATLAB function block using breakpoints. You can check the values of the intermediate variables and step through the code execution.