tags:

views:

130

answers:

4

hi,i have some python code(some functions) and i want to implement this in bigger matlab program!how can i do this?any help will be useful....

+1  A: 

You can use the system command to execute the Python code externally. To link it in more "natively" I think you'll have to go through C. That is, embed your Python code in C code and then expose it with a DLL to Matlab.

P.S. On windows you can also expose Python code to Matlab via COM

Eli Bendersky
sorry but what is COM?
sasha
@sasha: component object model: http://en.wikipedia.org/wiki/Component_Object_Model
Eli Bendersky
@sasha: COM is the basics.
Mikhail
A: 

There is a library called PyMat. It allows to call python code from matlab.

uthark
I didn't use it, so I don't know its limitations.
uthark
note that it was last updated in 1999
Eli Bendersky
-1 ... pymat is for calling matlab from python
thrope
+1  A: 

The only thing I know of is pythoncall but it is a little out of date and I'm not sure it will work reliably with recent versions of matlab.

http://www.elisanet.fi/ptvirtan/software/pythoncall/index.html

Otherwise you would have to interact with matlab through the shell (a bit of a pain I know). If you are dealing with large amounts of data and are on an OS where you can easily create a ramdisk saving matlab files to a ramdisk and passing the filename would be one way to get data from matlab to python without too much of a performance penalty.

thrope
+2  A: 

You should probably avoid this. Use one or the other - preferably Python. But if you have to use both, you could try this:

http://github.com/kw/pymex (scroll down for the readme)

Disclaimer: I wrote this. It may be somewhat difficult to get it to compile and work, particularly if you're on Windows (there is a pre-compiled win32 binary in the downloads area that might work). I don't have access to a lot of different machines with Matlab on them, so I haven't got that nailed down yet.

kwatford