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 commentaire

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

Connectez-vous pour commenter.

 Réponse acceptée

0 votes

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

Plus de réponses (1)

Sanjay Sivakumar
Sanjay Sivakumar le 14 Déc 2021

0 votes

You can try to export the MATLAB workspace data to an excel spreadsheet and use the spreadsheet in python.

1 commentaire

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.

Connectez-vous pour commenter.

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by