行列 A で線形独立ベクトルの最大サブセットを見つける matlab 関数を作成する必要があります。
プログラムの出力を 0 に初期化します。これは、空のセット (列ベクトルを含まない) に対応します。A の列を左から右に 1 つずつスキャンします。これまでに見つかった線形独立ベクトルのセットに現在の列ベクトルを追加すると、新しいベクトル セットが線形依存になる場合は、このベクトルをスキップします。それ以外の場合は、このベクトルを解セットに追加します。次の列に移動します。
function [ out ] = maxindependent(A)
%MAXINDEPENDENT takes a matrix A and produces an array in which the columns
%are a subset of independent vectors with maximum size.
[r c]= size(A);
out=0;
A=A(:,rank(A))
for jj=1:c
M=[A A(:,jj)]
if rank(M)~=size(M,2)
A=A
elseif rank(M)==size(M,2)
A=M
end
end
out=A
if max(out)==0
0;
end
end