从矩阵中提取元素

时间:2014-06-24 14:56:05

标签: matlab octave

我如何提取元素:[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;];

我正在使用八度音乐。

最好的问候,克里斯。

1 个答案:

答案 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
相关问题