replacing Matlab with python
Question: i am a engineering student and i have to do a lot of numerical processing,
plots, simulations etc. The tool that i use currently is Matlab. I use it in
my university computers for most of my assignments. However, i want to know
what are the free options available.

i have done some research and many have said that python is a worthy
replacement for matlab in various scenarios. i want to know how to do all this
with python. i am using a mac so how do i install the different python
packages. what are those packages? is it really a viable alternative? what are
the things i can and cannot do using this python setup?


Answer: On a Mac the easiest ways to get started are (in no particular order):

  * [Enthought Python Distribution](http://www.enthought.com/products/epd.php) which includes most scientific packages you are likely to need. Free for academic/non-commercial use.
  * [Macports](http://www.macports.org/) \- up to date with latest releases, so `sudo port install py26-numpy py26-scipy py26-matplotlib py26-ipython` should get you started.
  * [Scipy Superpack](https://fonnesbeck.github.io/ScipySuperpack/) \- script to install recent svn versions of all the important packages.

I've done exactly this (replace Matlab with Python) about 2 years ago and
haven't looked back. The broadcasting in Python, more intuitive memory model
and other Numpy advantages make numerical work a complete pleasure. Plus with
f2py, cython it is incredibly easy to put inner loops in another language.
[This](http://www.scipy.org/NumPy_for_Matlab_Users) is a good place to start -
other impressive pages to provide motiviation are
[PerformancePython](http://wiki.scipy.org/PerformancePython) and
[ParallelProgramming](http://wiki.scipy.org/ParallelProgramming). Be sure to
understand Pythons "variable is a reference to an object" semantics... after
that adjustment everything is plain sailing. One of the coolest things that
beats matlab is in 2 lines I run over 8 cores... `p = Pool(8); res =
p.map(analysis_function,list_of_data)` \- MATLAB parallels toolboxes are so
expensive I've yet to see a University that actually has them.

