I'm learning datamining, machine learning, image processing etc by myself now but will start uni next year probably doing the same.
I tried Octave briefly and wasn't that impressed. Ok some neat functionality and easy matrix manipulation but pretty ugly and language isn't as nice as Python. Not sure about interoperability with other tools.
I already knew Python so I naturally tried numpy+scipy+matplotlib and was literally blown away. So easy to use, really nice plotting capabilities and it is extremely convenient using a real and interactive programming language, especially when that language is Python. Being able to do everything with one tool is awesome.
I haven't tried Matlab yet because it costs money. Big minus right there obv especially since it is not exactly cheap.
It is also proprietary which is a another problem.
From what I have gathered it is an awesome tool though and there are huge amounts of Matlab-code out there.
Have any of you tried both? Which do you prefer and why?
Do you think Scipy can take over?
Python seem to be used everywhere in science; signal processing, chemistry, bioinformatics, NASA, Google etc.
I have found a library for pretty much everything for Scipy though. I mean having 10 different FFT-libs isn't exactly much of a plus, one great one is enough.
So does Matlab beat Scipy on that point or not?
And is Matlab much better than Octave? Different feel?
Does Matlab allow easy interaction with databases and other tools?
sage is built as an extension to Python with both a terminal interface (extended version of ipython) and a web-based interface. It builds on Scipy and many other tools.
Anyway, it's a strong enough system that I've used it to replace both Mathematica and Matlab in my daily activities. It's FFT is similar in speed to that of Matlab (both based on the same open source software). Check it out.