我如何提取元素:[1,2,5,6],[3,4,7,8],[9,10,13,14],[11,12,15,16]?
A = [1, 2, 3, 4;
5, 6, 7, 8;
9, 10, 11, 12;
13, 14, 15, 16;];
我正在使用八度音乐。
最好的问候,克里斯。
答案 0 :(得分:4)
如果您需要四个矩阵,请使用
out = mat2cell(A,[2 2], [2 2]);
如果您需要四个带有值的向量,请使用
out = cellfun(@(x)(reshape(x,1,[])),mat2cell(A,[2 2], [2 2]),'UniformOutput',0);
输出
out{:,:}
ans =
1 5 2 6
ans =
9 13 10 14
ans =
3 7 4 8
ans =
11 15 12 16
谢谢Joe Serrano,如果您需要使用相同顺序的四个向量中的每一个的值,
out = cellfun(@(x)(reshape(x',1,[])),mat2cell(A,[2 2], [2 2]),'UniformOutput',0);
输出
out{:,:}
ans =
1 2 5 6
ans =
9 10 13 14
ans =
3 4 7 8
ans =
11 12 15 16