Export matlab workspace data to python

20 views (last 30 days)
i want to export matlab workspace data to python and plot the graph in python
eng.sim("add.slx")
myVar = eng.workspace["out.simout.Data"]
print(myVar)
but i am getting this ValueError: variable name is not valid in MATLAB.
Could anyone please help me to solve this?
  1 Comment
Urveshkumar Dharmendrabhai
I am trying to control and simulate the simulink model through Python. However, I am getting the same error as below:
'ValueError: variable name is not valid in MATLAB'
I have written below code:
def getOutput(self):
simout_S = self.eng.workspace['out.simout']
tout_T = self.eng.workspace['out.tout']
return simout_S, tout_T
The error which I got is related the workspace variable. The workspace variable 'simout' is already defined in the simulink model.
How can I solve this problem? How can I extract results stored in the workspace into Python and plot them at the end?
For more information about my question, kindly see my question posted on the link below:
https://de.mathworks.com/matlabcentral/answers/1956564-valueerror-variable-name-is-not-valid-in-matlab-while-extracting-the-results-stored-in-matlab-wor

Sign in to comment.

Accepted Answer

Indhu Priyadharshini Govindasamy
eng.eval('a = out.simout;',nargout=0)
mpi = eng.workspace['a']
print(mpi)
adding eval worked for me

More Answers (1)

Sanjay Sivakumar
Sanjay Sivakumar on 14 Dec 2021
You can try to export the MATLAB workspace data to an excel spreadsheet and use the spreadsheet in python.
  1 Comment
Indhu Priyadharshini Govindasamy
Thank you for your reply. i will try this
@Deepak Meena replied like we can use this line of code to access the workspace variable in python.
p = eng.workspace['out.simout'];
but i dont know why it is not working in my case.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!