duio.m

来自「学会MATLAB编程; 学会用单纯型法求解线性规划; 学会用对偶单纯型法求解」· M 代码 · 共 31 行

M
31
字号
function [y,A]=duio(A,x,y)
[m,n]=size(A);
if min(A(2:m,n))<0
    flag=0;
else
    flag=1;
end
while flag==0
    [h1,i]=min(A(2:m,n));
    i=i+1;
    for k=1:n-1
        if (A(i,k)~=0 & A(1,k)~=0)
            q(k)=abs(A(1,k)./A(i,k));
        else
            q(k)=inf;
        end
    end
    [h2,j]=min(q);
    y(i-1)=x(j);
    A(i,:)=A(i,:)./A(i,j);
    for r=1:m
        if r~=i
            A(r,:)=A(r,:)+(-A(r,j)).*A(i,:);
        end
    end
    if min(A(2:m,n))<0
        flag=0;
    else
        flag=1;
    end
end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?