在Matlab中按固定距离求和行?
我在Matlab中有以下矩阵在Matlab中按固定距离求和行?,matlab,Matlab,我在Matlab中有以下矩阵A(m*d)x2 A=[1 1; 3 2; 8 3; ----- 9 1; 2 2; 5 3; ----- 6 1; 1 2; 4 3; ----- 8 1; 1 2; 5 3]; 因此m=max(A(:,2))=3和d=4是维度mx2的A中的子矩阵数。第二列始终由始终以循环方式排列的整数组成 我想通过对与第二列的同一整数相关联的A(:,1)元素求和,而不使用循环,来获得维度mx1的
A
(m*d)x2
A=[1 1;
3 2;
8 3;
-----
9 1;
2 2;
5 3;
-----
6 1;
1 2;
4 3;
-----
8 1;
1 2;
5 3];
因此m=max(A(:,2))=3
和d=4
是维度mx2
的A
中的子矩阵数。第二列始终由始终以循环方式排列的整数组成
我想通过对与第二列的同一整数相关联的A(:,1)
元素求和,而不使用循环,来获得维度mx1
的向量B
B=[1+9+6+8;
-------
3+2+1+1;
-------
8+5+4+5];
你能帮我吗?按一般性的递增顺序:
- 如果第二列始终是周期性的:和:
- 如果第二列由整数组成:使用:
- 在最常见的情况下,您需要在accumarray之前:
[~, ~, u] = unique(A(:,2)); result = accumarray(u, A(:,1));
- 如果第二列始终是周期性的:和:
- 如果第二列由整数组成:使用:
- 在最常见的情况下,您需要在accumarray之前:
[~, ~, u] = unique(A(:,2)); result = accumarray(u, A(:,1));
- 如果第二列始终是周期性的:和:
- 如果第二列由整数组成:使用:
- 在最常见的情况下,您需要在accumarray之前:
[~, ~, u] = unique(A(:,2)); result = accumarray(u, A(:,1));
- 如果第二列始终是周期性的:和:
- 如果第二列由整数组成:使用:
- 在最常见的情况下,您需要在accumarray之前:
[~, ~, u] = unique(A(:,2)); result = accumarray(u, A(:,1));