General
Follow


What do you like about MATLAB?

Oliver Woodford on 16 Feb 2011
Latest activity Reply by Smith on 30 Oct 2016

I use MATLAB most days (when I'm at work!). It makes my life easier, for many reasons, which is why I like it.
What are the reasons you like it (assuming you do), and why?
Smith
Smith on 30 Oct 2016
Andrew Newell
Andrew Newell on 16 Feb 2011
Early Matlab had a very similar syntax to FORTRAN77, which made it an easy transition for those of use who did have that joy.
Oliver Woodford
Oliver Woodford on 16 Feb 2011
Sadly I've never had the joy of programming in fortran.
Jan
Jan on 16 Feb 2011
While the high level sytax allows to write programs very fast, but with a limited processing speed, the bottlenecks can be easily forwarded to a MEX file written in C, C++ or Fortan. Further connections to COM, Visual-Basic, Java, etc (!) are easy to implement.
This allows a rapid prototyping of software as well as sufficiently efficient programs.
Matt Fig
Matt Fig on 16 Feb 2011
Superb, nearly complete documentation and corresponding search. I have been to the point of tears trying to find the simplest thing in the Maple 11 documentation using their help.
It is always a great sigh of relief to come back to MATLAB and know that I will be able to find what I want easily.
Andrew Newell
Andrew Newell on 16 Feb 2011
I know what you mean about Maple 11. There is something about the way they write documentation that has me skipping straight to the examples.
Jan
Jan on 16 Feb 2011
@Oliver: What a pitty. I thought "Matlab is not FORTRAN77" would be worth to be accepted.
Jan
Jan on 16 Feb 2011
Matlab's error messages are meaningful and help to identify and solve the problems.
I've seen only 2 useless error messages in the last 8 years! Compared with messages created by e.g. C-compilers, operating systems or even LaTeX, you can feel, that the TMW programmers really wanted to support the users in debugging. Thanks!
Jan
Jan on 16 Feb 2011
If I avoid Java calls, I can run my programs developped under Matlab 4.2 in 1994.
There are a handful of nasty limitations in the backward compatibility, but if I compare this with any other software from 1994, the high quality and stability of Matlab becomes very obvious.
Oliver Woodford
Oliver Woodford on 16 Feb 2011
There will, of course, be no accepted answer. It's about what you think.
Oliver Woodford
Oliver Woodford on 16 Feb 2011
The less popular yang to this question's yang is also worth a look:
http://www.mathworks.com/matlabcentral/answers/1427-what-frustrates-you-about-matlab
Sean de Wolski
Sean de Wolski on 16 Feb 2011
Image Processing Tools (not constrained to just the IPT)
Though I think visualization tools could be improved.
Sean de Wolski
Sean de Wolski on 16 Feb 2011
CSSM/FEX/Rest of Matlab Central
Jan
Jan on 16 Feb 2011
"Rest of Matlab Central"? Do you mean: CSSM/FEX/Answers/Blogs ?!
I definitely confirm this. Matlab has an enormous potential to write efficient programs, but for beginners and advanced programmers it is sometimes hard to find an efficient method to use this potential. But if you ask in CSSM (or in the new Answers) and look in the FEX, you can profit from the knowhow of thousands of contributors. I estimate that Bruno has reduced the total worldwide runtime of Matlab by 10.000 hours (or 10 times more).
Sean de Wolski
Sean de Wolski on 16 Feb 2011
One-lining complicated expressions.
It just makes me feel good.
Andrew Newell
Andrew Newell on 16 Feb 2011
Walter Roberson
Walter Roberson on 16 Feb 2011
Andrew, reminds me of the famous, http://www.dorje.com/netstuff/jokes/comp.c.memo
Andrew Newell
Andrew Newell on 16 Feb 2011
And here is a nice quicksort algorithm in J:
(($:@(<#[) , (=#[) , $:@(>#[)) ({~ ?@#)) ^: (1<#)
Walter Roberson
Walter Roberson on 16 Feb 2011
Iverson went on to create a new APL-like language called "J", which did not require special characters.
Sean de Wolski
Sean de Wolski on 16 Feb 2011
It definitely can be, and the special keyboard is funny.
It can also be a good learning tool for newbies (undergrads in my lab) who need a crash course: Here figure out what this 10 expression line does and rewrite it with comments!
Andrew Newell
Andrew Newell on 16 Feb 2011
Mind you, this can be taken too far. I once used a language called APL, which was incredibly compact. But it was all too easy to write completely incomprehensible code, and you needed a special keyboard!
Matt Tearle
Matt Tearle on 16 Feb 2011
\
It takes getting a little used to, but once you grok it... ( / too, but it's not as useful as \). The fact that it handles all manner of linear systems is glorious.
Andrew Newell
Andrew Newell on 16 Feb 2011
A very simple syntax for handling matrix and vector computations. EDIT: I think the notation for element-by-element operations is particularly unusual and amazingly useful.
Matt Tearle
Matt Tearle on 16 Feb 2011
The vectorized nature is so fundamental to MATLAB, it's easy to forget that it's one of its great strengths: A = B + C, no loops, no declarations, no obscure syntax or function calls.
Andrew Newell
Andrew Newell on 16 Feb 2011
Number one for me is - a huge library of mathematical functions that you don't need to download and install!
Oliver Woodford
Oliver Woodford on 16 Feb 2011
The language is such that very complicated programs can be written quickly in very few lines (once you've learned the basic syntax and a few handy functions).
Jan
Jan on 16 Feb 2011
Matlab's high-level syntax reduces the programming and debug time tremendously.
Matt Tearle
Matt Tearle on 16 Feb 2011
Logical indexing is proof that Cleve loves us and wants us to be happy. Eg, goodbye outliers:
x(x > val) = []
Or stats on a subset of data:
mean(x(t < val))
And so on.
Matt Tearle
Matt Tearle on 16 Feb 2011
Haha. Actually Cleve elevated himself to deity level in my eyes by noticing that there are *two* slash characters on a keyboard... (see my other answer)
Oliver Woodford
Oliver Woodford on 16 Feb 2011
This answer is proof of Cleve's god-like status amongst MathWorkers! :)
Michelle Hirsch
Michelle Hirsch on 16 Feb 2011
Interesting start of a thread, Oliver. I encourage all posters to write a single point per answer to make it easier for others to vote up answers they agree with.
Oliver Woodford
Oliver Woodford on 16 Feb 2011
The debugging tools are pretty good. You can set breakpoints, even conditional ones (not sure about watchpoints on data values, though). Then you can inspect the variables, even change them, and visualize them, etc., right inside the program.
And error handling is good/helpful. It tells you exactly what the problem is.
Michelle Hirsch
Michelle Hirsch on 17 Feb 2011
Thanks for clarifying, Oliver. No, you can't.
Oliver Woodford
Oliver Woodford on 16 Feb 2011
In some debuggers I can say "Halt when A(5) is read" and "Halt when A(5) is written to". Is this possible in MATLAB?
Michelle Hirsch
Michelle Hirsch on 16 Feb 2011
Oliver - what do you mean about watchpoints on data values?
Oliver Woodford
Oliver Woodford on 16 Feb 2011
The profiling tool is AWESOME. It is so easy to see where code bottlenecks are.
SK
SK on 24 Sep 2014
Yes, a very easy to use profiling tool.
Jan
Jan on 17 Feb 2011
AMD CodeAnalyst under Windows, gprof under Linux.
Oliver Woodford
Oliver Woodford on 16 Feb 2011
Off topic, but what do you use for C/C++ profiling, Jan?
Jan
Jan on 16 Feb 2011
I cannot vote this, although it is absolutely correct. But a programming environment without profiler and debugger is actually hilarious.
Sean de Wolski
Sean de Wolski on 16 Feb 2011
as well as tic/toc