I am looking for a way to access a matlab module from python. My current situation is this:
ctypes
and passed as pointers to the Lapack routines. My question now is this:
What is an efficient way to keep all the main work in python while at the same time exploit the possibilities that matlab/octave modules offer. Also it would be kind of nice, if my ctype arrays do not have to be converted into some other object in order to run octave. However, I can see that that last point is hard to accomplish.
My current research shows me two possible options:
You can use oct2py, which IIUC was started by its author because pytave didn't work on win32. It is successfully used in IPython through its octavemagic extension and I can tell it is easy to use on its own, the code is maintained (I reported a little Unicode bug and the author fixed it in a day) and works well. Most of the times is as simple as:
>>> from oct2py import octave
>>> octave.run("cos(pi / 3)")
'ans = 0.50000'
>>> octave.call("foo", a, b) # Function in foo.m
For further examples you can check this blog article.