5 ms·
SciPy+NumPy+MatplotLib == Matlab ($2k+) returns true for most applications That's good enough for me to not bother with any other scripting language.
by jayruy 16y ago
SciPy+NumPy+MatplotLib == Matlab ($2k+)
returns true for most applications
That's good enough for me to not bother with any other scripting language.
- wwortiz 16y agoSadly matlab still is much easier to use and understand for engineers, which is one of its, if not the, primary market(s).
- levesque 16y agoI agree that numpy python programming is nowhere near matlab for ease of use. I prefer using python for machine learning tho. I dislike the libraries written in matlab. Is numpy+python faster than matlab?
- wwortiz 16y agoTo be honest I have no reason to conclude that one is faster than the other but I would hope that given its age and girth matlab is more optimized. The main reason I say matlab is better for engineers is that its documentation is beyond amazing, if you think of something you need you search in the help browser and there is a good chance it is there with substantial information (something that is much harder with the math/science python libraries) also if you know a functions name you just type: help function and get plenty of information which helps when you forget how to use something and need a quick lookup. I have done some things with scipy but nothing more than solving some odes and I must say even with all the pains of matlab with writing separate files to solve odes and other such things plus some syntax grievances it is still the easiest solution for me.
- masterj 16y agoSince both (I assume) are calling the same BLAS and LAPACK libraries underneath the scripting niceness, it's likely they're very similar in speed.
- hugh3 16y agoOf course it depends what you're trying to do. I'm pretty sure that numpy/scipy have a lot more overhead than Matlab for everything that _isn't_ just a blas/lapack call, but I don't have the numbers to back it up. I do know that I tried rewriting one of my C++ codes using scipy/numpy and it was about a hundred times slower for that particular task (which did happen to involve very large matrices, approaching the limits of memory).
- infinite8s 16y agoFrom experience that kind of slowdown for pure numeric algorithms happens when your numpy/scipy code is structured in a way that it makes extra unnecessary copies.
- eru 16y agoMatlab also recently has gotten much better in its support for function approaches. You need those for e.g. numerical integration and solving differential equations. The earlier solvers took strings with the name of a function whenever they needed a functional argument. Nowadays Matlab provides `function handles' to refer to a function without calling it. The syntax is @function_name, they need this special syntax, because just mentioning function_name itself in your code, calls your function without arguments. Matlab even support proper closures with lexical scoping, now.
- jayruy 16y agoShow me proper Matlab data structures, I/O libraries, and string manipulation and I might actually care about language features... I do agree with all of these advantages of using Matlab in an environment where my data is already cleaned and normalized; I just rarely find myself in that position.
- eru 16y agoMatlab has made great strides. They even have proper data structures now. String manipulation also got somewhat better, if I remember correctly. The problem is, that (like with C++) the standard string isn't the `right' string with all the advanced bits. I do not know about I/O libraries. All my Matlab knowledge basically comes from helping out friends with Matlab problems, and reading the manual together with them.
- hugh3 16y agoAs someone who spent a significant fraction of today trying to get scipy and numpy installed on one of his machines (and failed) I can totally see your point here.
- stefanvdwalt 16y agoWe would love to improve your experience in installing SciPy and NumPy. I'd like to invite you to join the mailing list and raise these issues so we may address them. The easiest way to install the suite of scientific computing Python packages on Windows may be PythonXY or Enthought EPD. Under Linux and OSX, users seem to have few problems.