四个第一列线性独立于二进制矩阵

时间:2017-06-19 00:07:32

标签: matlab linear-algebra

我有一个大小为4x7的二进制矩阵A.我想创建一个Matlab函数,确定矩阵的前四列是否线性独立,如果不是置换,找到前四个线性独立的列,其他三列将跟随。

例如:如果前三列和第五列是线性无关的,那么新矩阵将给出第一,第二,第三和第五列,最后三列将是A的第四,第六和第七列

示例:

A = [1 0 0 1 0 0 1 1;0 1 0 1 1 0 0 1;0 0 1 1 1 0 1 0;0 0 0 0 1 1 1 1];

A的前三列是线性独立的,第五列与前三个colomn线性无关。 我们找到了

B = [1 0 0 0 1 0 1 1;0 1 0 1 1 0 0 1;0 0 1 1 1 0 1 0;0 0 0 1 0 1 1 1];

1 个答案:

答案 0 :(得分:1)

如果A4x7,您可以在以下网址找到解决方案:

  A = randi(1, 4, 7); // replace real A here
  p = perms(1:7);
  for i = 1:length(p)
      newA = A(:,p(i,:));
      if(rank(A(:,1:4)) == 4)
          break;
      end
  end
  result = newA;