我需要创建一个 matlab 函数,该函数在矩阵 A 中找到最大的线性独立向量子集。
将程序的输出初始化为0,对应于空集(不包含列向量)。从左到右一一扫描A的列;如果将当前列向量添加到目前找到的线性独立向量集使新的向量集线性相关,则跳过该向量,否则将该向量添加到解集;并移至下一列。
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