matlab最大无关组
05-15
matlab 函数实现 找出所有的最大无关组
矩阵中含有多个最大无关组
matlab 函数实现 找出所有的最大无关组
function y=gg(A) %建立函数
t=0;
m=size(A,1);
n=size(A,2);
p=(combntns([1:1:n],m))';
for k=1:nchoosek(n,m)
q=A(:,(p(:,k))');
if rank(q)==m
t=t+1;
q %将在命令窗口中显示所有的最大无关组
end
end
t %最大无关组的个数
matlab 求出线性规划问题的全部基解,并指出基可行解。以下方法可以简化找基和求解的过程
%A为系数矩阵 ; b为右端常数项(列向量);C为目标函数中价值系数(行向量)
function y=ff(A,b,c) %建立函数
t=0;% 用来标记一共有几基
m=size(A,1);
n=size(A,2);
p=(combntns([1:1:n],m))';
for k=1:nchoosek(n,m)
q=A(:,(p(:,k))');
s=c(:,(p(:,k))');
if rank(q)==m
t=t+1;
r=[p(:,k),rref([q,b])];
r(:,[1,m+2]) %第一列表示基变量下标,第二列表示这些下标对应的基变量的解,我们知道非基变量
%都是零,根据这些就可把所有的基解写出来,再根据基解非负找出基可行解。
s*r(:,m+2) %目标函数值
end
end
t %全部基的个数