我有一个带有M
行和R
列的矩阵C*k
。我想创建另一个包含F
行和R
列的矩阵C
,以便
F(:,j) = min(M(:,(j-1)*k+1:j*k),[],2)
换句话说,F
的第一列应该是k
列的M
列的最小值。
F
的第二列应该是k
的第二M
列的分钟,依此类推。
我正在尝试将矩阵M
重新整形为R*C x k
矩阵D
找到min并再次将其重新整形为R x C
矩阵。但我无法正确地将M
重塑为F
1}},以便F(i, :) = M(b, (j-1)*k+1:j*k)
这是一个小例子:
k=2;
M = [1 2 3 4; 5 6 7 8; 9 10 11 12;];
then
F = [1 3; 5 7; 9 11];
答案 0 :(得分:5)
您最好的选择可能是将其重新整形为R x k x (C / k)
矩阵,然后沿第二维计算min
,然后挤压结果以移除现在为空的第二维。
F = squeeze(min(reshape(M, size(M, 1), k, size(M, 2)/k), [], 2))