Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

replacing Matlab with python

Tags:

python

matlab

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?

like image 427
sfactor Avatar asked Nov 21 '09 18:11

sfactor


People also ask

Can MATLAB be replaced with Python?

For all of these reasons, and many more, Python is an excellent choice to replace MATLAB as your programming language of choice.

Is Python better than MATLAB?

Python is a high-level language, it is more user friendly, more readable and more portable. MATLAB is a low-level language and not good at some algorithms such as bioinformatics. MATLAB has the function of the matrix, and Python can use NumPy, and the library can achieve similar results.

How do I switch from MATLAB to Python?

To convert Matlab to python, we have two options, either do it manually or take the help of some tool. To convert Matlab to python, a tool named SMOP (Small Matlab and Octave to Python Compiler) is used. This tool is capable of understanding basic Matlab code and then parsing it to python.

Is NumPy a replacement MATLAB?

Python in combination with 3rd Party Packages: Numpy, Scipy, Pandas and Matplotlib can be used as a replacement for MATLAB.


1 Answers

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

  • Enthought Python Distribution which includes most scientific packages you are likely to need. Free for academic/non-commercial use.
  • Macports - up to date with latest releases, so sudo port install py26-numpy py26-scipy py26-matplotlib py26-ipython should get you started.
  • Scipy Superpack - 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 is a good place to start - other impressive pages to provide motiviation are PerformancePython and 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.

like image 94
robince Avatar answered Sep 28 '22 12:09

robince