Main Content

Build and Edit a Model Interactively

Learn the basics of how to create a model, add blocks to it, connect blocks, and simulate the model. You also learn how to organize your model with subsystems, name parts of a model, and modify a model.

For a summary of how to connect blocks and add ports interactively, see Keyboard Shortcuts and Mouse Actions for Simulink Modeling.

Create a Model

  1. In the Simulink® start page, choose a template or search the templates.

    Model templates are starting points to apply common modeling approaches. They help you reuse settings and block configurations and share knowledge. Use model and project templates to apply best practices and take advantage of previous modeling solutions.

    Click the title of a template to read the description.

    Search for templates by entering text in the search box. You can enter flexible search options including OR, AND, NOT, wildcards, fuzzy (~), etc. Use the Lucene search engine query parser syntax.

    To locate templates that are not on the MATLAB search path, click Open. Model templates have the extension .sltx.

  2. After selecting the template you want, click Create Model.

    To use a template without reading the description, click the template image. Alternatively, press Ctrl+N to use your default template.

    A new model using the template settings and contents opens in the Simulink Editor.

If the built-in templates do not meet your needs, try searching on the Examples tab, or you can create your own templates. See Create a Template from a Model. On the Examples tab, enter search terms to find examples titles and descriptions of interest, or open further examples on the web by clicking View All next to a product name.

Use Customized Settings When Creating New Models

You can specify a model template to use for all new models.

  1. Create a model with the configuration settings and blocks you want, then export the model to a template. See Create a Template from a Model.

  2. To reuse these settings in every new model, make the new template your default model template using the Simulink start page or the Simulink.defaultModelTemplate function.

    In the start page, click the title of a template to expand the description, then click the down arrow next to Create Model and select Set As Default.

After you set a default model template, every new model uses that template, for example, when you press Ctrl+N, when you use new model buttons, or when you use new_system. In the Simulink Editor, your default template appears at the top of the list when, on the Simulation tab, you select New.

The default template shows a tick mark in the start page.

Open a Model

Opening a model loads the model into memory and displays it in the Simulink Editor. Use any of these techniques:

  • On the MATLAB Home tab, click Simulink. In the Simulink Start Page, select a recent model or project from the list, or click Open.

  • In the Simulink Editor, on the Simulation tab, select Open > Recent Models and choose a recent model.

  • At the MATLAB command prompt, enter the name of the model without a file extension, for example, vdp. The model must be in the current folder or on the MATLAB search path.

  • In the Simulink Library Browser, click the Open model or library button .

  • Open the model using the Current Folder browser or your operating system file browser.


Set favorites to easily get back to your favorite models and projects in the start page.

In the Simulink start page recent files list, you can add files to favorites. The Favorites list then appears above recent files in the start page, so that you can easily reopen your favorite models and projects.

To edit or clear the list of recent files in the start page, right-click a recent file and use the context menu.

Alternatively, use Simulink.history.clear to clear the Simulink history programmatically.


To open a model created in a later version of Simulink software in an earlier version, first export the model to the earlier version. See Export a Model to a Previous Simulink Version.

Load Variables When Opening a Model

As you build models, you sometimes define variables for a model. For example, suppose that you have a model that contains a Gain block. You can specify the variable K as the gain rather than setting the value on the block. When you use this approach, you must define the variable K for the model to simulate.

You can use a model callback to load variables when you open a model.

  1. In a model that uses the Gain block, set the block Gain value to K.

  2. Define the variable in a MATLAB script. In MATLAB, select New > Script. In the script, enter your variable definitions:


  3. Save the script as loadvar.m.

  4. In the model, open the Property Inspector. On the Modeling tab, under Design, click Property Inspector. With no selection at the top level of a model, you can use the Property Inspector to set model properties. Otherwise, on the Modeling tab, click Model Settings.

  5. In the Callbacks section of the model properties, select PreLoadFcn as the callback that you want to define. In the pane, enter loadvar.

  6. Save the model.

The next time that you open the model, the PreloadFcn callback loads the variables into the MATLAB workspace.

To learn about callbacks, see Callbacks for Customized Model Behavior. To define a callback for loading variables programmatically, see Programmatically Load Variables When Opening a Model.

Open Model That Has Different Character Encoding

If you open an MDL file that uses a particular character set encoding in a MATLAB session that uses different encoding, a warning is produced. For example, suppose that you create an MDL file in a MATLAB session configured for Shift_JIS and open it in a session configured for windows-1252. The warning message displays the encoding of the current session and the encoding used to create the model. You can ignore this warning unless you are trying to resave the model, in which case Simulink issues a new warning message if the model contains characters that cannot be saved in the current encoding. Before you save the model, set slCharacterEncoding to UTF-8. For more information, see Save Models That Have Different Character Encodings.

SLX files can store characters from any encoding.

Simulink can check if models contain characters not supported in the current encoding. For more details, see Check model for foreign characters.

Simulink Model File Types

New models that you create have the .slx extension by default. Models created before R2012b have the extension .mdl. Models you can edit can have the .slx or .mdl extension, depending on when they were created or whether you converted them. See Save Models in the SLX File Format.

.slxp and .mdlp extensions denote protected models that you cannot open and edit. See Reference Protected Models from Third Parties. Model templates have the extension .sltx.

Simulink libraries also use the .slx extension, but you cannot simulate them. To learn more, see Create a Custom Library.

See Also

| | | |

Related Topics