How I can run a simulink model from Python script?

Hi, I'm trying to write a script in Python that generate number of inputs, and use them as inputs in a Simulink model. My doubt is how to run a Simulink model from Python (I'm working in windows). Could someone help me?
Thanks

2 Comments

how can I import IEEE distribution system of MATLAB in python
how to run the simulnk model just for one step by using MATLAB Engine API?

Sign in to comment.

 Accepted Answer

You may consider MATLAB Engine API for Python:
For example:
>>>import matlab.engine
>>>eng = matlab.engine.start_matlab()
>>>eng.sim("vdp")

5 Comments

Thanks! Do you also know how I can take a variable from the Workspace of Matlab (after the simulation finish to run) as pass it to Python?
Use workspace like following:
>>>import matlab.engine
>>>eng = matlab.engine.start_matlab()
>>>x = 4.0
>>>eng.workspace['y'] = x
>>>python_y = eng.workspace['y']
More infor:
Would you please illustrate how can I use "set_param" command in python to call Simulink file?
I did it in this way:
>> import matlab.engine
>> Matlab = matlab.engine.start_matlab('-desktop')
>> h = Matlab.new_system('NewModelName')
>> s = Matlab.add_block('simulink/Sources/From Workspace',NewModelName+'/DataIn')
>>Matlab.set_param(NewModelName+'/DataIn','Position',matlab.double([150,150,250,250]),nargout=0)
I tried in python like you commented before .it is working completely fine but
i want to run the simulink model in C code and Engine Api
I could find any reference for that.Could you please help me?

Sign in to comment.

More Answers (1)

Asked:

on 21 Sep 2016

Commented:

on 19 Jan 2023

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!