MATLAB Answers


Accessing simulink blocks in Matlab scripts

Asked by John
on 29 Nov 2012

Is there a way to call or access a simulink block in matlab without opening the graphical simulink environment or opening a predefined model (mdl) file?

Essentially, the goal is to write a matlab script which defines a simulink model within the script utilizing simulink blocks already present in the Simulink library (Rician noise generators, signal generators, and the like). This way, all adjustable parameters can be kept in "code" and not in graphical "forms" (cleaner development environment).

We are using Matlab R2012a. The necessary simulink toolkits as well as the simulink environment have already been licensed and installed.

  1 Comment

Have u tried by, for e.g. if you want to access unitdelay block, simulink.unitdelay in command window

2 Answers

Answer by Michelle Hirsch
on 29 Nov 2012

Depending on the nature of the models you'd like to build, an alternative to using MATLAB to construct a Simulink model might be to use System objects. System objects are designed to be used either as Simulink blocks or in MATLAB code. When used in MATLAB code, there is no underlying Simulink model.

System objects come with System Toolboxes (DSP System Toolbox, Computer System Toolbox, etc). This page explains them way better than I could: System Objects for Stream Processing in MATLAB


Answer by Vishal Rane
on 29 Nov 2012

You could use load_system command to load the model into memory without the simulink editor.

Then use find_system command to programmaticallly access the model and/or its blocks.

Refer the examples given in the documentation for better understanding.


Join the 15-year community celebration.

Play games and win prizes!

Learn more
Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!