2
只要我理解了準確的列表,就意味着「使輸出的第n行:1)在子節點2中找到n,如果n在子節點m1,m2,m3中的元素,3 )將函數應用於val 4)的m1,m2,m3 th元素,即輸出的第n行「MatLab準確地改變了排序
我在某處錯了嗎?
我跑了下面的代碼。
A = [2 10 13 ; 1 11 14; 1 12 10]
[U,ix,iu]= unique(A(:,1))
vals = reshape(A(:, 2:end).', [], 1)
subs = reshape(iu(:, ones(size(A, 2)-1,1)).', [], 1)
r2 = accumarray(subs, vals', [], @(x){x'})
r2{1}
r2{2}
A =
2 10 13
1 11 14
1 12 10
U =
1
2
IX =
3
1
IU =
2
1
1
個
瓦爾斯=
10
13
11
14
12
10
潛艇=
2
2
1
1
1
1
R2 =
[1x4 double]
[1x2 double]
ANS =
12 11 14 10
ANS =
13 10
=========================
但我預計r{1} = 11 14 12 10
,並r{2} = 10 13
。
爲什麼accumarray突然改變了排序?
我怎樣才能得到預期的結果?
凡排序在[線性索引的意思](http://www.mathworks.com/help/matlab/math/matrix-indexing。html#f1-85511)判斷你是否有多列'subs'。 有關詳細信息,請參閱[這個問題](http://stackoverflow.com/questions/17536558/)我最近問。 – Oleg
@Mohsen_Nosratinia謝謝!這工作。一旦我達到足夠的聲譽,我會投票給你的答案。 – user1849133
@ user2604484你應該做的是_accept_答案 –