MATLAB Answers

1

Generate Simulink model from script

Asked by Thomas Marullo on 25 Jan 2018
Latest activity Edited by Marco Gavelli on 13 Aug 2018

Is there a way to generate an SLX model from a Matlab script? I have a custom Simulink library and the models I want to automatically generate vary in their design and I'm trying to figure out the easiest way to script their generation. I already have a script that generates text code for an MDL format model and it works fairly well but now I'm looking to update to the SLX format and have an easier codebase for users to both develop and understand. My text generation is rather difficult because it pieces text together and is hardcoded for a specific Simulink release format. Thanks!

  0 Comments

Sign in to comment.

2 Answers

Answer by tran
on 31 Jan 2018
Edited by tran
on 31 Jan 2018

Yes, there is.

You can generate a model with matlab code (both function and script) follow links:

[1]. https://blogs.mathworks.com/simulink/2010/01/21/building-models-with-matlab-code/

[2]. https://www.mathworks.com/help/simulink/ug/approach-modeling-programmatically.html

[3]. http://www.goddardconsulting.ca/simulink-creating-using-matlab-code.html#BuildingAModel

You can use the body instead. The result will be a simulink model. That just my idea and I never try before.

  1 Comment

Thank you. This is helpful however I was curious because it is 8 years old if there are newer techniques that are used with SLX models since these generate the older MDL file types.

Sign in to comment.


Answer by Marco Gavelli on 13 Aug 2018
Edited by Marco Gavelli on 13 Aug 2018

You could also give the Matsim library a try (disclaimer: I'm the developer). Matsim is a wrapper around the standard Simulink API to add:

  • Automatic layout (no need to specify block positions!)
  • Intuitive interface (you can "add", "subtract", "multiply", ... simulink blocks)
  • Compatible with any release from R2011b onwards
  • No problem saving the model to MDL or SLX

Quick sample:

  0 Comments

Sign in to comment.