我有一個矩陣A
在Matlab的維度m x 3
,例如, m=18
Accumarray在Matlab中有非標量下標嗎?
A=[ 2| 1 1;
3| 1 2;
-8| 1 3;
-------
-5| 1 1;
2| 1 2;
6| 1 3;
-------
7| 2 1;
3| 2 2;
1| 2 3;
5| 2 4;
-------
3| 2 1;
-8| 2 2;
1| 2 3;
0| 2 4;
-------
1| 2 1;
2| 2 2;
7| 2 3;
9| 2 4]
的A
的特徵如下:
它由
t
子矩陣組成。在示例t=5
中。每個子矩陣
t
具有尺寸b x 3
與b<=m
和b
可以取任何值在{3,4,5,...,m}
(顯然,在某種程度上,使得所有的行的總和爲m
)。在此示例中,第一個和第二個子矩陣的維數爲,最後三個子矩陣的維數爲4 x 3
。相同尺寸的所有子矩陣依次堆疊在一起。在該示例中,首先我們有子表格
3 x 3
,然後是子表格4 x 3
。
我想計算其中f=size(unique(A(:,2:end),'rows','stable'),1)
,(在例子中f=7
),使得B(i,1)
由具有A(j,2:end)
等於unique(A(:,2:end),'rows','stable')
的i
第行的A(:,1)
j
元素求和獲得的尺寸f x 1
的矢量B
,即
B=[2-5;
3+2;
-8+6
7+3+1;
3-8+2;
1+1+7;
5+0+9]