Incorporating MATLAB Algorithms into a Simulink Model
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.
Featured Product
Simulink
Up Next:
Related Videos:
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)