thita(i)=A1(i,k)\b(i);
end
end
[r8,c8]=find(thita>999);
if sum(c8)<m
[mith,rr]=min(thita);
r=rr(1);
aa=A1(r,k);
for i=1:m
if ir b®=b®/aa;
for j=1:n
A1(r,j)=A1(r,j)/aa ;
end
end
end
for i=1:m
if i~=r
cc=A1(i,k)
b(i)=b(i)-b®*cc;
for j=1:n
A1(i,j)=A1(i,j)-A1(r,j)cc;
end
end
end
cb®=c(k);
xx®=k;
B1=A1(:,n-m+1:n);
sgma1=c-(cbB1)*A;
[masg,kk]=max(sgma1);
k=kk(1);
thita=100+zeros(m,1);
else
flg=3;
masg=-1;
x=‘unbound solution’;
z=‘inf’;
end
end
if flg~=3
if n10
sgma1=c-(cbB1)A
[rc,ccc]=find(sgma1<-0.0000000001);
if sum(rc)==n-m
flg=1;
else
flg=2;
end
x=zeros(n,1);
for i=1:m
x(xx(i))=b(i);
end z=cx;
else
x=zeros(n,1);
for i=1:m
x(xx(i))=b(i);
end
xa=x((n-n1+1):n,:);
ra=find(xa);
if sum(ra)==0
sgma1=c-(cbB1)A;
[rc,ccc]=find(sgma1<-0.00000001);
if sum(rc)==n-m
flg=1;
else
flg=2;
end
z=cx;
else
flg=4;
x=‘nothing’;
z=‘nothing’;
end
end
end
sgma=sgma1;
ll;
A=[1,2,1,0,0;4 0 0 1 0;0 4 0 0 1];
A1=A;
b=[8;16;12];
c=[2 3 0 0 0];
m=3;
n=5
cb=[0 0 0];
xx=[3,4,5];
然后调用单纯行解法 simplexfun111 ;
求出值,并返回 B1,b,
然后输入: r=1,2,3 求之。