Export matlab workspace data to python

23 次查看(过去 30 天)
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 个评论
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

请先登录,再进行评论。

采纳的回答

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

更多回答(1 个)

Sanjay Sivakumar
Sanjay Sivakumar 2021-12-14
You can try to export the MATLAB workspace data to an excel spreadsheet and use the spreadsheet in python.
  1 个评论
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.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Call Python from MATLAB 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by