Вероятно, это из-за неопределенного поведения в выражениях типа:
a, b += 1, a
Как это должно быть оценено? Как это
a' = a + 1
b = b + a'
или просто
b = b + a
a = a + 1
- неясно. Таким образом, деструктурированное расширенное назначение не допускается.
Я ответил на это в видео форме на моем блоге:
http://blogs.mathworks.com/videos/2009/01/07/binning-data-in-matlab/
Вот код:
m = rand(10,2); %Generate data
x = m(:,1); %split into x and y
y = m(:,2);
topEdge = 1; % define limits
botEdge = 0; % define limits
numBins = 2; % define number of bins
binEdges = linspace(botEdge, topEdge, numBins+1);
[h,whichBin] = histc(x, binEdges);
for i = 1:numBins
flagBinMembers = (whichBin == i);
binMembers = y(flagBinMembers);
binMean(i) = mean(binMembers);
end