Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #7218

Re: Call python function from Matlab

From Thomas Rachel <nutznetz-0c1b6768-bfa9-48d5-a470-7603bd3aa915@spamschutz.glglgl.de>
Newsgroups comp.lang.python
Subject Re: Call python function from Matlab
Date 2011-06-08 09:29 +0200
Organization A newly installed InterNetNews server
Message-ID <isn8dp$i5t$1@r03.glglgl.eu> (permalink)
References <659556b7-bd7d-415e-919e-e5e8260b6f70@j28g2000vbp.googlegroups.com>

Show all headers | View raw


Am 08.06.2011 07:12 schrieb nazmul.islam@gmail.com:
> I need to call a python function from a Matlab environment. Is it
> possible?
>
> Let's assume, I have the following python code:
>
> def squared(x):
>      y = x * x
>      return y
>
> I want to call squared(3) from Matlab workspace/code and get 9.
>
> Thanks for your feedback.
>
> Nazmul

You can write a .mex file which calls Python API functions. These should 
be, among others,

init:
Py_Initialize()

for providing callbacks or so:
Py_InitModule()

for running:
PyRun_String()
PyRun_SimpleString()
PyImport_Import()
   -> PyObject_GetAttrString()
   -> PyCallable_Check()
   -> PyObject_CallObject()
etc. etc.

at the end:
Py_Finalize()


For details, have a closer look at the API documentation, e. g. 
http://docs.python.org/c-api/veryhigh.html.

Additionally, you have to care about conversion of data types between 
the MATLAB and Python types. Here you can look at

http://www.mathworks.com/help/techdoc/apiref/bqoqnz0.html


Alternatively, you can call the python libraries using 
http://www.mathworks.com/help/techdoc/ref/f16-35614.html#f16-37149.


HTH,

Thomas

Back to comp.lang.python | Previous | NextPrevious in thread | Find similar | Unroll thread


Thread

Call python function from Matlab "nazmul.islam@gmail.com" <nazmul.islam@gmail.com> - 2011-06-07 22:12 -0700
  Re: Call python function from Matlab Adam Przybyla <adam@rybnik.pl> - 2011-06-08 07:19 +0000
    Re: Call python function from Matlab Thomas Rachel <nutznetz-0c1b6768-bfa9-48d5-a470-7603bd3aa915@spamschutz.glglgl.de> - 2011-06-08 09:33 +0200
  Re: Call python function from Matlab Thomas Rachel <nutznetz-0c1b6768-bfa9-48d5-a470-7603bd3aa915@spamschutz.glglgl.de> - 2011-06-08 09:29 +0200

csiph-web