3

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....

Vivin Paliath
  • 94,126
  • 40
  • 223
  • 295
sasha
  • 97
  • 2
  • 7

4 Answers4

4

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.

kenm
  • 23,127
  • 2
  • 43
  • 62
  • Thanks for releasing this code. I am trying to call cython functions from Matlab and had no idea how to start. – Paul Feb 14 '11 at 19:28
1

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
  • 263,248
  • 89
  • 350
  • 412
1

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.

robince
  • 10,826
  • 3
  • 35
  • 48
-2

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

uthark
  • 5,333
  • 2
  • 43
  • 59