MATLAB was one of the first languages to allow lists of comma-separated numbers between square brackets e.g. [1,2,3,10] to be interpreted as indexed numeric arrays or vectors. A lot of languages do that now, but MATLAB was perhaps the first to do this in 1984.
A little-known quirk is that the commas are optional! [1 2 3 10] etc. This was probably introduced as a 'convenience' feature (though typing a space isn't that much faster than typing a comma). But there is a glitch ("feature") in the syntax that interprets space-separated negative numbers differently than you'd expect. So [ 1 2 -3] is interpreted as [1,2-3] (value = [1,-1]) because the precedence of arithmetic operators is higher than list operations.
MATLAB hasn't fixed this 'feature' yet, because it would undoubtedly break a jillion apps around the world. So you must be careful to type [1 2 (-3)] if you are allergic to commas.
BTW it's been fixed by default in OCTAVE, MATLABS free-software clone, but you turn 'quirks' on, if you want to preserve the quirky behavior.