4 ms·
What still amazes me: While working in an ipython notebook (http://ipython.org/notebook.html http://ipython.org/notebook.html) on some numerical calculations, I
by xixi77 13y ago
What still amazes me: While working in an ipython notebook (http://ipython.org/notebook.html http://ipython.org/notebook.html) on some numerical calculations, I can just pull up Sympy (http://sympy.org http://sympy.org) and perform some symbolic computations (Fourier transforming some function analytically or taking the derivative of some other, etc.).
You can certainly do it with Matlab (provided you have purchased the symbolic toolbox of course).
Oh, and have I told you about how Scipy can replace R for really cool statistical analyses?
Sure, it can for some things, but why?
My thing with Python is that it kinda loses to Matlab for non-statistical work (except perhaps for select fields, like network analysis or language processing), and to R/SAS/Stata (depending on type of job and personal preference) for statistical stuff. Of course all of these (other than R) are proprietary and not cheap, but most universities have all of them anyway, and businesses just buy what they need.
btw: did you first learn Matlab, or Python? In my experience, there is a tendency for people who start with Matlab to dislike Python, and for people who start with Python to dislike Matlab :) Probably has something to do with some basic things being just so slightly different, and therefore bothersome.
Also, the Matlab IDE these days is actually quite decent -- does Python have something similar?
- wirrbel 13y agoSure enough there are parts of matlab where matlab is without serious competitors. I think however that a majority of needs is available for Python, although I know that I do not represent everyone's needs. Quick google search yielded: http://networkx.github.io/ http://networkx.github.io/ do not know how it compares though. I switched to Sci.Python at the point where I had difficulty treating time series data with Matlab. I know there is a toolboxy-thingy from mathworks but it either was not available or I did not find the documentation. Anyway, I quickly got started with Pandas. I had prior knowledge of Python and other mainstream programming languages before. Spyder is a Matlab-ish IDE with a variable explorer, etc. Some like the Ipython Notebook which I think is great for demonstrations and teaching, but eventually does not scale when projects grow bigger.
- xixi77 13y agoYeah, networkx is pretty good -- I actually meant that network analysis and text processing are the two areas where I'd be quite comfortable recommending Python over Matlab. For time series data, I'd personally pick R though, or perhaps SAS if it's large enough -- at least if any statistical analysis is involved... I need to check out Spyder.
- wirrbel 13y agoR is a software that I still need to check out. I think enthought offers commercial tooling and support and also a IDE platform with tools for data story telling etc.. I usually use vim.
- pwang 13y agoContinuum Analytics (http://continuum.io http://continuum.io) also offers commercial tooling and support.
- xixi77 13y agoR design is somewhat like perl in the sense that usually there are a lot of ways of doing anything. This includes time series of course. That being said, last time I did time series, I've used xts and was quite happy with it.
- hershel 13y agoThe biggest strength of matlab is the libraries, but you can very easy use those in python using an integration library like mlabwrap, and still have all the benefits of python. And there's a python IDE called spyder which is similar to the matlab IDE.
- hogu 13y agoI grew up on Matlab. Entire PhD thesis work was all matlab. I started using python after leaving academia because it's much easier to put python into production, and I've never looked back. There are only 3 benefits to matlab. 1. Simulink, if you do that kind of stuff (I don't). 2. Some numerical algorithms in matlab are more efficient, but then some of the python ones are more efficient. 3. matlab array syntax is a bit more concise. Python destroys matlab in all other regards. Once you've tried it for a while you'll understand the value of a general purpose programming language with advanced numerical capabilities