I believe the following enhancements are sorely needed:
1. Ability to open files and at least read them while a computation is in progress without having to open a whole new instance of Matlab. It would also be nice if those files which can be edited safely could be edited while a computation is running in the background.
2. Echoing the original poster, the graphics functions are horrendously inefficient when multiple axes and figures are involved. They are also clunky to use and rather sparsely documented. I'm not even going to justify this as I suspect that there would be sweeping agreement from many.
3. The Matlab help system can be a lot more helpful. Why is it not even possible to resize the context sensitive help window that comes up when you click Help on 'Foo'.A better and more detailed organization of topics would be a start. Moreover why should one have to always open larger examples in the editor? The examples could also be inline with the html help with helpful comments embedded in the html. I find that the help reading phase is distinct from the experimentation phase.
4. Is it possible to better manage the plethora of Variable Editor tabs that open up when navigating into a cellarray, struct or deeply nested variable. Perhaps an option not to open a new Variable tab every time, but overwrite the existing tab. Or perhaps a complete rewrite of the Workspace Window so that it shows variables in tree format, with the contents of each level appearing in a tab to the right until the leaf variable is displayed in a final view tab. Something like in OSX finder or pathfinder.
5. When you right click on a function name or class name 'Foo' and select Open 'Foo', the file that is opened often has no relation to the file that should be opened. For example, If I select the 'Foo' in Bar.Foo, the Foo method in Bar should be opened, not some completely unrelated 'Foo' method - which is what happens currently.
6. Keyboard shortcuts to switch between the different numeric format displays.
7. Suppose there is a file called Foo in the current folder. Suppose you try to create a file called FooBar in the same folder. You start typing in the filename. The moment you have typed upto Foo, Matlab develops rigor mortis since the file name is now the same as an existing file name. It was really bad in a couple of versions ago, though I it appears to have been fixed in later versions.
8. Matlab was originally intended to be a matrix calculator. However, as with other tools, it is being used to do things far beyond what perhaps had been envisioned at the time of its creation. Complex projects with thousands of files are not uncommon. So would it be possible to have more detailed syntax highlighting? For example see the C++ section of the syntax highlighting in the latest version of Visual Studio. Perhaps that can be used as a role model.
8. Ability to Disable Drag and drop in Editor and in Current Folder Window.
9 Scrolling Figure Windows! I mean, is it all that difficult to implement or do the people at Matlab feel that they would be taking the fun out of the user's lives. Graphics is no longer used only to publish things on paper. People seriously want to inspect large amounts data visually on the computer screen.
10. Abilty to undock windows as group. For example suppose I want just the Workspace Window and tha Variable Editor in a single fullscreen window. Ishould be able to undock them into a single window. Makes sense?
The list can go on, but the civilized limit of 10 has been reached. Anyway, these are the some of things that have frustrated me at one time or another.
**On the other hand here are some good features that Matlab already has.
1. A very easy to use profiler, if not always so accurate.
2. Core IDE features work well, (workspace, variable and text editor) even if somewhat basic.
3. Easy to use parallelization and improving. Core algorithms are well parallelized.
4. Execution times for core algorithms are really good and appear to be constantly improving over releases.
5. Debugger works well and is easy to use.