从现有矩阵创建新矩阵

时间:2012-10-02 21:51:09

标签: matlab matrix

我在Matlab中有一个矩阵,A =

 1     2     3
 4     5     6
 7     8     9
10    11    12

现在我想创建一个从A派生的新矩阵B.新矩阵应如下所示:B =

1   0
0   4
2   0
0   5
3   0
0   6

是否可以在不使用FOR循环的情况下解决这个问题?

2 个答案:

答案 0 :(得分:5)

使用一些索引很容易:

A=[1     2     3  ;
   4     5     6  ;
   7     8     9  ;
   10    11    12 ];

B = zeros(2*size(A,2),2);
B(1:2:end,1)=A(1,:); % put first row values in first column of c
B(2:2:end,2)=A(2,:); % put énd row values in 2nd column of c

答案 1 :(得分:0)

如果你只使用4x4矩阵,那么是的。

您想要转换4x4并使用行x列约定,您可以同时访问A的元素,如A[row][column]

然后你需要一个6x2矩阵,然后用零B = zeros(6,2)

来调用它

然后向下B[row][column] = A[row][column],您应该可以轻松地构建它。