假設我有一個 Mx4 陣列 A,其中第一列中的值是數字 1 到 12。現在我想根據第 1 列中的數字將其余列收集到 12 個單獨的 Mx3 陣列中。我會怎么做這樣做?
uj5u.com熱心網友回復:
您可以使用unique和splitapply如下。結果是陣列的元胞陣列。
M = [2 11 41 51;
1 10 20 30;
1 62 83 22;
4 73 53 53;
2 84 94 14]; % example data
L = 5; % Group labels are 1:L (L=12 in your case)
[u,~,w] = unique(M(:,1));
result = cell(L,1);
result(u) = splitapply(@(x){x}, M(:,2:end), w);
這給
>> celldisp(result)
result{1} =
10 20 30
62 83 22
result{2} =
11 41 51
84 94 14
result{3} =
[]
result{4} =
73 53 53
result{5} =
[]
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/426540.html
下一篇:Simulink中的連接模塊
