How to make a script return an output argument in python?

7 visualizzazioni (ultimi 30 giorni)
Hi I have linked python to matlab. I am running a script written in MATLAB in python. I am using as reference
I want my script to return the variable in my python window. How i can do it? Can i avoid this without converting it to a function?
b = 5;
h = 3;
a = 0.5*(b.* h)
import matlab.engine
eng = matlab.engine.start_matlab()
eng.triarea(nargout=0)
  1 Commento
yashvin
yashvin il 29 Lug 2015
After you save the file, start Python and call the script.
import matlab.engine
eng = matlab.engine.start_matlab()
eng.triarea(nargout=0)
a =
7.5000
Specify nargout=0. Although the script prints output, it returns no output arguments to Python.
Convert the script to a function and call the function from the engine. Open the MATLAB editor to edit the file.
eng.edit('triarea',nargout=0)
I want for example return the variable a in my python window! How can i do that?

Accedi per commentare.

Risposta accettata

Robert Snoeberger
Robert Snoeberger il 29 Lug 2015
Scripts do not return output arguments, but they do store results in variables in the base workspace [1]. You can access the MATLAB engine workspace from Python [2].
Example
>>> import matlab.engine
>>> eng = matlab.engine.start_matlab()
>>> eng.triarea(nargout=0)
a =
7.5000
>>> a = eng.workspace['a'] # get the variable 'a' from the workspace
>>> a
7.5
>>>
References

Più risposte (0)

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by