I've worked both in industry and at a research institution (albeit not very long) and I've learned a bit of a love hate relationship with matlab. It's really awesome for prototyping complex math-based algorithms as an intermediate step before writing a battle-ready implementation. There's a ton of libraries so you can think in terms of high level concepts, and the matrix math is very natural, as is Gpu integration which is a huge plus. Once it's in code, you can iterate quickly relying on libraries, and even create a gui very quickly. When you settle on a final implementation, you can do a 1:1 port to the optimal runtime to make the code more modular, extensible, and fast.
Once you get used to the indexing and quirks, it's a prototyping dream. In a day I can do what would take weeks to implement in C++ or even Python, and I can decide if the algorithm is good enough to warrant a full port. Once I make that call, it's trivial to decide which parts of the algorithm I should work on optimizing for speed during the port because you can analyze perf of each step. Granted, I do a lot of image processing which is sort of an ideal matlab use case.
I totally agree though, writing software to solve real world problems is much more riveting than writing endless web apps (I've done both.)