4 ms·
disclaimer I work for enthought I did my whole phd in matlab. EPD is much cheaper and is free for academics even if it weren't free, I would use it anyways.
by hogu 16y ago
disclaimer I work for enthought
I did my whole phd in matlab.
EPD is much cheaper and is free for academics
even if it weren't free, I would use it anyways.
but it really isn't why is EPD better than matlab, it's why python is better than matlab. matlab is a domain specific application with a domain specific language. It doesn't work well with things outside of its domain.
python is a general purpose language (And as such, has good general purpose constructs) but it happens to have excellent scientific and mathematical libraries. This is useful when you actually have to apply your research and build an application.
numpy is also better for large data, because slicing arrays does not create copies of them (you can make it do so if you want to, but it doesn't by default) in matlab, slicing large arrays can cause you to run out of memory.
Cython makes it really easy to start out with python, and then optimize your code down into C.
with python you can run your calculations over a massive compute grid. Use messaging libraries like PyZMQ to distribute your data and result, and build real time GUIs to consume the final results.
- a matlab cluster is quite expensive
- chacko - another enthought python library which is free and open source is great for real time datavisualization, matlab does not have anything equivalent.
- python has a large number of messaging libraries, with matlab I think you're stuck with MPI.
Matlab always made me feel limited. I would work on a problem, and then reach a point where Matlab could not do what I needed to do.
That rarely happens to me with python.
- deleted 16y ago[deleted]
- rdouble 16y agoThank you, that is the kind of response I was looking for. I will take a look at Enthought.
- hogu 16y agoyou WILL get frustrated by some things - some of the matrix concatenation operations are less convenient, some of the libraries are less polished, it's been worth it for me. msg me if you need help. use IPython, not just python shell for interactivity. also checkout 3d datavisualization with mayavi, that stuff is really awesome.
- Anon84 16y agoIs there a mayavi tutorial somewhere? It looks pretty interesting, but I could never figure it out.
- hogu 16y agohttp://conference.scipy.org/scipy2010/tutorials.html http://conference.scipy.org/scipy2010/tutorials.html there was a mayavi tutorial, and the files are available at the link
- masklinn 16y ago> use IPython, not just python shell for interactivity. or bpython
- stoney 16y agoIs there something similar to Simulink available for Python yet? That's pretty much the only killer feature of Matlab for me these days. Any other number crunching I do in Python.
- hogu 16y agonot that I know of
- maurits 16y agoThanks for the reply, I am checking out the academic enthought lib. now
- follower 16y ago> - chacko - another enthought python library Ah, you mean "Chaco" -- it's easier to find with the correct spelling. :) http://code.enthought.com/projects/chaco/ http://code.enthought.com/projects/chaco/