我有一个M带R行和C*k列的矩阵.我想创建另一个F包含R行和C列的矩阵,以便这样做
F(:,j) = min(M(:,(j-1)*k+1:j*k),[],2)
Run Code Online (Sandbox Code Playgroud)
换句话说,第一列F应该是第一k列的min M.
第二列F应该是第二k列的min,M依此类推.我正在尝试将矩阵重新整形M到R*C x k矩阵中D找到min并再次将其重新R x C整形为矩阵.但我无法正确地重塑M为F,所以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];
Run Code Online (Sandbox Code Playgroud)
您最好的选择可能是将其重新整形为R x k x (C / k)矩阵,然后min沿第二维计算,然后挤压结果以移除现在为空的第二维.
F = squeeze(min(reshape(M, size(M, 1), k, size(M, 2)/k), [], 2))
Run Code Online (Sandbox Code Playgroud)