如何实现变维度的矩阵排列重构?

在用matlab实现矩阵重构时遇到了一个问题,例如已知矩阵[1 2;3 4],将左列1、3看为重建元素参与重构,可以补到任一行的左边,空白处用0代替,共有4种结果:
[1 2;3 4];
[3 2;1 4];
[3 1 2;0 0 4];
[0 0 2;1 3 4];
想知道如何通过matlab实现这种结果?

你好哦,同学,我想到了一种办法,你看看:

A=[1,2; 3,4];
n = size(A,1);
for i = 1:1:n
    for j = 1:1:n
        left = zeros(n,1);
        left(i) = A(j,1);
        A0 = A;
        A0(j,1)=0;
        B = [left, A0]
    end
end

最后得到四种结果:

B =

     1     0     2
     0     3     4


B =

     3     1     2
     0     0     4


B =

     0     0     2
     1     3     4


B =

     0     1     2
     3     0     4