1
私はサイズが4x7
の2進行列Aを持っています。 Matlab関数を作成して、行列の最初の4つの列が最初の4つの直線的に独立した列を見つけることができず、他の3つの列が続く場合、直線的に独立しているかどうかを判断します。2つの行列から線形独立した4つの第1の列
たとえば、最初の3つの列と5番目の列が線形独立の場合、新しい行列は1番目、2番目、3番目および5番目の列を与え、最後の3つの列は4番目、6番目および7番目の列になります。 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の最初の3列は線形独立であり、第colomn最初の3つcolomnsの直線的に独立しています。 A
では、次の中で解決策を見つけることができます4x7
であれば、我々は
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];
まず感謝を行列Aの4つの列は、関数が返す必要があり独立している場合同じ行列A。そして、4つの独立した列を順序付けるために列の並べ替え。A = [1 0 0 1 1 0 0; 0 0 0 1 0 1 1; 0 0 1 0 1 0 1; 0 1 0 1 1 0 1]あなたはreturn result = [0 0 1 1 0 0 1; 1 1 0 1 0 0 0; 1 0 1 0 1 0 0; 1 0 1 1 0 1 0]、Aの最初の4つの列は既に線形独立であった。 – m2016b
私が望む行列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 1 1 1 1 1]ならば、プログラムは列Aと列Bとを交換するために、新しい行列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を与えるために(列Aの最初の4つの列が依存するので) ; 0 0 0 1 0 1 1 1] Aの4つの最初の列が独立している場合、プログラムは行列Aを返します。 – m2016b
'perms'の結果を見ると、[1 2 3 4 5 6 7]。 – OmG