оператор colon
имеет более низкий приоритет, чем ()
, поэтому matlab сначала оценивает вектор внутри скобки, затем, если один из операндов является вектором, colon
принимает только первое значение. Вот шаги оценки:
(0:2):4 -> (0:2)=[0 1 2] -> 0:4 -> [0,1,2,3,4]
0:(2:4) -> (2:4)=[2 3 4] -> 0:2 -> [0,1,2]