matlab中等距行的加法
我有一个6954乘222的矩阵,我想每122行求和得到57乘222的矩阵。如果有人有解决方案,请帮助我。使用,当然还有 样本检查(对于带有2个matlab中等距行的加法,matlab,matrix,Matlab,Matrix,我有一个6954乘222的矩阵,我想每122行求和得到57乘222的矩阵。如果有人有解决方案,请帮助我。使用,当然还有 样本检查(对于带有2个行总和的10x3矩阵) 使用,当然还有 样本检查(对于带有2个行总和的10x3矩阵) 这应该是一种有效的方法,因为它使用了轻量级—————————————&mdash- cutlen = 122 %//
行总和的10x3矩阵
)
使用,当然还有
样本检查(对于带有2个行总和的10x3矩阵
)
这应该是一种有效的方法,因为它使用了轻量级—————————————&mdash-
cutlen = 122 %// Cut after this many number of rows, for summing purposes
out = squeeze(sum(reshape(A,cutlen,[],size(A,2)),1));
这应该是一种有效的方法,因为它使用了轻量级的————————————以及-
cutlen = 122 %// Cut after this many number of rows, for summing purposes
out = squeeze(sum(reshape(A,cutlen,[],size(A,2)),1));
这也应该相当有效:
A = ... %// input array
iL = 122; %// interval length
y = filter(ones(1,iL),1,A);
y = y(iL:iL:end,:);
与/不同,该函数还允许二维数据的一维卷积。但似乎又是最快的
不过,这种方法似乎非常接近:
out = reshape(sum(reshape(A,iL,[])),[],size(A,2));
这也应该相当有效:
A = ... %// input array
iL = 122; %// interval length
y = filter(ones(1,iL),1,A);
y = y(iL:iL:end,:);
与/不同,该函数还允许二维数据的一维卷积。但似乎又是最快的
不过,这种方法似乎非常接近:
out = reshape(sum(reshape(A,iL,[])),[],size(A,2));
该函数可用于进行行的累加
让A
表示矩阵,n
表示要求和的行数,B
表示结果。然后
r = repmat(ceil(1/n:1/n:size(A,1)/n).',1,size(A,2)); %'
c = repmat(1:size(A,2),size(A,1),1);
B = full(sparse(r,c,A));
该函数可用于进行行的累加
让A
表示矩阵,n
表示要求和的行数,B
表示结果。然后
r = repmat(ceil(1/n:1/n:size(A,1)/n).',1,size(A,2)); %'
c = repmat(1:size(A,2),size(A,1),1);
B = full(sparse(r,c,A));
这不是一个精确的复制品,但在这里寻找灵感:-这里他们在减法,每三行减法一次。修改代码,这样你就可以添加和求和超过122行。另外,尽量在你的问题中包含你尝试过的内容。如果你有机会看一看,不是一个精确的复制品,但看看这里的灵感:-这里他们是减法,每三行做一次。修改代码,这样你就可以添加和求和超过122行。另外,尽量在你的问题中包含你尝试过的内容。如果你有机会看一看