%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%% Modelos Schnider Propofol %%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                                                                         %
% Modelos de Schnider para o Propofol                                     %
%                                                                         %
% Miguel Teixeira, Novembro, 2012                                         %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%% Variáveis


V1 = 4.27;                                                                 % [L]
V2 = 18.9-0.391+(Age-53);                                                  % [L]
V3 = 238;                                                                  % [L]

k10 = 0.443+0.0107*(Weight-77)-0.0159*(LBM-59)+0.0062*(Height-177);        % [min^-1]
k12 = 0.302-0.0056*(Age-53);                                               % [min^-1]
k13 = 0.196;                                                               % [min^-1]
k21 = (1.29-0.024*(Age-53))/(18.9-0.391*(Age-53));                         % [min^-1]
k31 = 0.0035;                                                              % [min^-1]
ke0 = 0.456;                                                               % [min^-1]

%% Converter variavéis
V1 = V1*1000;                                                       % [mL]
V2 = V2*1000;                                                       % [mL] 
V3 = V3*1000;                                                       % [mL]

%% Matrizes Compartimentais
Matriz_A = [-(k10+k12+k13) (V2/V1)*k21 (V3/V1)*k31 0;
           (V1/V2)*k12 -k21 0 0;
           (V1/V3)*k13 0 -k31 0;
           ke0 0 0 -ke0];
Matriz_B = [1/V1 0 0 0]';
Matriz_C = [0 0 0 1];
Matriz_D = 0;

% Discretização das Matrizes
[Matriz_Aj, Matriz_Bj] = c2d(Matriz_Ai, Matriz_Bi, Ts);                    % As matrizes C e D discretizadas ficam iguais às contínuas, logo não é necessária a sua discretização.
                                                                           % Ts é o tempo de amostragem em minutos (Ex: 5s é 1/12 de minuto).
%% Sistema de Espaço de Estados
Estado = Matriz_A*Estado+Matriz_B*U;                                       % Estado são as concentrações nos diferentes compartimentos [ug/mL]. U é o Input de Propofol [ug/min].
Ce = Matriz_C*Estado+Matriz_D;                                             % Obtenção da Concentração de Efeito [ug/mL].