function [c,A,b]=Simplexd
%
% [c,A,b] = Simplexd;
%
%           Construye los datos para el problema estándar de maximización
%           o minimización de n variables y m restricciones:
%
%               Max      f = c*x                Min     g = c*x
%  
%               s. a.:   A*x <= b               s.a.:   A*x >= b
%                          x >= 0                         x >= 0
%
%           en donde c es un vector renglón de n componentes, A es m x n
%           y b es un vector columna de m componentes.
%    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
%    Ver funciones relacionadas:
%
%    Simplex, Simplexe, Simplexg
%    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
%    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
%    Revisión 1.0
%    Sergio A. Pérez Ruiz
%    Instituto Tecnológico Autónomo de México
%    noviembre de 1996
%    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
%    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

% Captura de datos
clc;
disp('%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%')
disp('%                                                            %')
disp('% Captura de datos para el problema estándar de maximización %')
disp('%                                                            %')
disp('%        Max     f = c*x                                     %')
disp('%                                                            %')
disp('%        s.a.:   A*x <= b                                    %')
disp('%                  x >= 0                                    %')
disp('%                                                            %')
disp('%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%')

m=0; n=0;
while m ~= 1 | n == 1
   disp(' ')
   disp('Dame los coeficientes de la función')
   disp('(Vector renglón, comenzando con [ y terminando con ])')
   c = input('c = ');
   [m,n]=size(c);
   if m ~= 1 | n == 1
      disp(' ')
      disp('>>> DEBE SER UN VECTOR RENGLON <<<')
   end
end

nr=0; np1=n+1;
while nr ~= np1
   disp(' ')
   disp('Dame los coeficientes de las restricciones')
   disp('(Matriz aumentada por renglones, comenzando con [ y terminando con ])')
   B = input('[A b] = ');
   [mr,nr]=size(B);
   if nr ~= np1
      disp(' ')
      disp('>>> NUMERO DE COLUMNAS ERRONEO <<<')
   end
end

A = B(:,1:n);
b = B(:,np1);

return;