📄 ineqelim1.m
字号:
function [Aout,bout]=IneqElim(A,b)
% A*x>b
n=size(A,1);
for i=1:2*n, % 2n times?
r=A(1,:);
r=r';
p=A(2:end,:);
p=p';
s=b(2:end);
q=p\r;% X = A\B is the solution to the equation AX = B
while (~isempty(find(q < 0)) & ~isempty(p))
ql=find(q<0);
p(:,ql)=[];
s(ql)=[];
q=p\r;
end
if ~isempty(p) & b(1) <= q'*s & sum(abs(q)) > sum(abs(p))/100,
A(1,:)=[];
b(1)=[];
else
m=max(max(A));
A(1,:)=A(1,:)*m;
b(1)=b(1)*m;
A(end+1,:)=A(1,:);
b(end+1)=b(1);
A(1,:)=[];
b(1)=[];
end
end
out=[A,b];
for i=1:size(out,1)
gcdj=max(abs(out(i,:)));
for j=1:size(out,2)
gcdj=gcd(gcdj,abs(out(i,j)));
end
Aout(i,:)=out(i,1:end-1)/gcdj;
bout(i)=out(i,end)/gcdj;
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -