Generated Code
The following is matlab code generated by the CellML API from this CellML file. (Back to language selection)
The raw code is available.
function [VOI, STATES, ALGEBRAIC, CONSTANTS] = mainFunction()
% This is the "main function". In Matlab, things work best if you rename this function to match the filename.
[VOI, STATES, ALGEBRAIC, CONSTANTS] = solveModel();
end
function [algebraicVariableCount] = getAlgebraicVariableCount()
% Used later when setting a global variable with the number of algebraic variables.
% Note: This is not the "main method".
algebraicVariableCount =126;
end
% There are a total of 46 entries in each of the rate and state variable arrays.
% There are a total of 175 entries in the constant variable array.
%
function [VOI, STATES, ALGEBRAIC, CONSTANTS] = solveModel()
% Create ALGEBRAIC of correct size
global algebraicVariableCount; algebraicVariableCount = getAlgebraicVariableCount();
% Initialise constants and state variables
[INIT_STATES, CONSTANTS] = initConsts;
% Set timespan to solve over
tspan = [0, 10];
% Set numerical accuracy options for ODE solver
options = odeset('RelTol', 1e-06, 'AbsTol', 1e-06, 'MaxStep', 1);
% Solve model with ODE solver
[VOI, STATES] = ode15s(@(VOI, STATES)computeRates(VOI, STATES, CONSTANTS), tspan, INIT_STATES, options);
% Compute algebraic variables
[RATES, ALGEBRAIC] = computeRates(VOI, STATES, CONSTANTS);
ALGEBRAIC = computeAlgebraic(ALGEBRAIC, CONSTANTS, STATES, VOI);
% Plot state variables against variable of integration
[LEGEND_STATES, LEGEND_ALGEBRAIC, LEGEND_VOI, LEGEND_CONSTANTS] = createLegends();
figure();
plot(VOI, STATES);
xlabel(LEGEND_VOI);
l = legend(LEGEND_STATES);
set(l,'Interpreter','none');
end
function [LEGEND_STATES, LEGEND_ALGEBRAIC, LEGEND_VOI, LEGEND_CONSTANTS] = createLegends()
LEGEND_STATES = ''; LEGEND_ALGEBRAIC = ''; LEGEND_VOI = ''; LEGEND_CONSTANTS = '';
LEGEND_VOI = strpad('t in component main (second)');
LEGEND_CONSTANTS(:,1) = strpad('rho in component main (Js2_per_m5)');
LEGEND_CONSTANTS(:,2) = strpad('g in component main (m_per_s2)');
LEGEND_CONSTANTS(:,3) = strpad('theta_deg in component main (dim)');
LEGEND_CONSTANTS(:,175) = strpad('theta_rad in component main (radian)');
LEGEND_ALGEBRAIC(:,1) = strpad('z in component main (dim)');
LEGEND_CONSTANTS(:,4) = strpad('T in component main (second)');
LEGEND_ALGEBRAIC(:,3) = strpad('mt in component main (dim)');
LEGEND_ALGEBRAIC(:,2) = strpad('mta in component main (dim)');
LEGEND_CONSTANTS(:,5) = strpad('delay in component main (dim)');
LEGEND_CONSTANTS(:,6) = strpad('To_pk in component main (dim)');
LEGEND_STATES(:,1) = strpad('q_LV in component main (litre)');
LEGEND_CONSTANTS(:,7) = strpad('q_LV_us in component main (litre)');
LEGEND_ALGEBRAIC(:,7) = strpad('u_LV in component main (kPa)');
LEGEND_ALGEBRAIC(:,5) = strpad('E_LV in component main (kPa_per_L)');
LEGEND_CONSTANTS(:,8) = strpad('E_LVmax in component main (kPa_per_L)');
LEGEND_CONSTANTS(:,9) = strpad('E_LVmin in component main (kPa_per_L)');
LEGEND_STATES(:,2) = strpad('q_RV in component main (litre)');
LEGEND_CONSTANTS(:,10) = strpad('q_RV_us in component main (litre)');
LEGEND_ALGEBRAIC(:,11) = strpad('u_RV in component main (kPa)');
LEGEND_ALGEBRAIC(:,9) = strpad('E_RV in component main (kPa_per_L)');
LEGEND_CONSTANTS(:,11) = strpad('E_RVmax in component main (kPa_per_L)');
LEGEND_CONSTANTS(:,12) = strpad('E_RVmin in component main (kPa_per_L)');
LEGEND_STATES(:,3) = strpad('q_LA in component main (litre)');
LEGEND_CONSTANTS(:,13) = strpad('q_LA_us in component main (litre)');
LEGEND_ALGEBRAIC(:,13) = strpad('u_LA in component main (kPa)');
LEGEND_CONSTANTS(:,14) = strpad('E_LA in component main (kPa_per_L)');
LEGEND_STATES(:,4) = strpad('q_RA in component main (litre)');
LEGEND_CONSTANTS(:,15) = strpad('q_RA_us in component main (litre)');
LEGEND_ALGEBRAIC(:,15) = strpad('u_RA in component main (kPa)');
LEGEND_CONSTANTS(:,16) = strpad('E_RA in component main (kPa_per_L)');
LEGEND_ALGEBRAIC(:,25) = strpad('v_AV in component main (L_per_s)');
LEGEND_CONSTANTS(:,17) = strpad('R_AV in component main (kPa_s_per_L)');
LEGEND_ALGEBRAIC(:,24) = strpad('v_PV in component main (L_per_s)');
LEGEND_CONSTANTS(:,18) = strpad('R_PV in component main (kPa_s_per_L)');
LEGEND_ALGEBRAIC(:,17) = strpad('v_TV in component main (L_per_s)');
LEGEND_CONSTANTS(:,19) = strpad('R_TV in component main (kPa_s_per_L)');
LEGEND_ALGEBRAIC(:,19) = strpad('v_MV in component main (L_per_s)');
LEGEND_CONSTANTS(:,20) = strpad('R_MV in component main (kPa_s_per_L)');
LEGEND_STATES(:,5) = strpad('q_pulmA in component main (litre)');
LEGEND_CONSTANTS(:,21) = strpad('q_pulmA_us in component main (litre)');
LEGEND_ALGEBRAIC(:,21) = strpad('u_pulmA in component main (kPa)');
LEGEND_CONSTANTS(:,22) = strpad('E_pulmA in component main (kPa_per_L)');
LEGEND_ALGEBRAIC(:,28) = strpad('v_lungA in component main (L_per_s)');
LEGEND_CONSTANTS(:,23) = strpad('R_lungA in component main (kPa_s_per_L)');
LEGEND_STATES(:,6) = strpad('q_lungC in component main (litre)');
LEGEND_CONSTANTS(:,24) = strpad('q_lungC_us in component main (litre)');
LEGEND_ALGEBRAIC(:,26) = strpad('u_lungC in component main (kPa)');
LEGEND_CONSTANTS(:,25) = strpad('E_lungC in component main (kPa_per_L)');
LEGEND_ALGEBRAIC(:,30) = strpad('v_pulmV in component main (L_per_s)');
LEGEND_CONSTANTS(:,26) = strpad('R_pulmV in component main (kPa_s_per_L)');
LEGEND_STATES(:,7) = strpad('q_AA in component main (litre)');
LEGEND_CONSTANTS(:,27) = strpad('q_AA_us in component main (litre)');
LEGEND_ALGEBRAIC(:,22) = strpad('u_AA in component main (kPa)');
LEGEND_CONSTANTS(:,28) = strpad('E_AA in component main (kPa_per_L)');
LEGEND_ALGEBRAIC(:,29) = strpad('v_brachiocephalicA in component main (L_per_s)');
LEGEND_CONSTANTS(:,29) = strpad('R_brachiocephalicA in component main (kPa_s_per_L)');
LEGEND_STATES(:,8) = strpad('q_brachiocephalicA in component main (litre)');
LEGEND_CONSTANTS(:,30) = strpad('q_brachiocephalicA_us in component main (litre)');
LEGEND_ALGEBRAIC(:,27) = strpad('u_brachiocephalicA in component main (kPa)');
LEGEND_CONSTANTS(:,31) = strpad('E_brachiocephalicA in component main (kPa_per_L)');
LEGEND_ALGEBRAIC(:,32) = strpad('v_rSubclavianA in component main (L_per_s)');
LEGEND_CONSTANTS(:,32) = strpad('R_rSubclavianA in component main (kPa_s_per_L)');
LEGEND_ALGEBRAIC(:,36) = strpad('v_rCCA in component main (L_per_s)');
LEGEND_CONSTANTS(:,33) = strpad('R_rCCA in component main (kPa_s_per_L)');
LEGEND_STATES(:,9) = strpad('q_rSubclavianA in component main (litre)');
LEGEND_CONSTANTS(:,34) = strpad('q_rSubclavianA_us in component main (litre)');
LEGEND_ALGEBRAIC(:,31) = strpad('u_rSubclavianA in component main (kPa)');
LEGEND_CONSTANTS(:,35) = strpad('E_rSubclavianA in component main (kPa_per_L)');
LEGEND_ALGEBRAIC(:,45) = strpad('v_rBrachialA in component main (L_per_s)');
LEGEND_CONSTANTS(:,36) = strpad('R_rBrachialA in component main (kPa_s_per_L)');
LEGEND_ALGEBRAIC(:,37) = strpad('v_rVertebralA in component main (L_per_s)');
LEGEND_CONSTANTS(:,37) = strpad('R_rVertebralA in component main (kPa_s_per_L)');
LEGEND_ALGEBRAIC(:,38) = strpad('v_lCCA in component main (L_per_s)');
LEGEND_CONSTANTS(:,38) = strpad('R_lCCA in component main (kPa_s_per_L)');
LEGEND_ALGEBRAIC(:,34) = strpad('v_lSubclavianA in component main (L_per_s)');
LEGEND_CONSTANTS(:,39) = strpad('R_lSubclavianA in component main (kPa_s_per_L)');
LEGEND_STATES(:,10) = strpad('q_lSubclavianA in component main (litre)');
LEGEND_CONSTANTS(:,40) = strpad('q_lSubclavianA_us in component main (litre)');
LEGEND_ALGEBRAIC(:,33) = strpad('u_lSubclavianA in component main (kPa)');
LEGEND_CONSTANTS(:,41) = strpad('E_lSubclavianA in component main (kPa_per_L)');
LEGEND_ALGEBRAIC(:,42) = strpad('v_lBrachialA in component main (L_per_s)');
LEGEND_CONSTANTS(:,42) = strpad('R_lBrachialA in component main (kPa_s_per_L)');
LEGEND_ALGEBRAIC(:,39) = strpad('v_lVertebralA in component main (L_per_s)');
LEGEND_CONSTANTS(:,43) = strpad('R_lVertebralA in component main (kPa_s_per_L)');
LEGEND_STATES(:,11) = strpad('q_headC in component main (litre)');
LEGEND_CONSTANTS(:,44) = strpad('q_headC_us in component main (litre)');
LEGEND_ALGEBRAIC(:,35) = strpad('u_headC in component main (kPa)');
LEGEND_CONSTANTS(:,45) = strpad('E_headC in component main (kPa_per_L)');
LEGEND_ALGEBRAIC(:,40) = strpad('v_headV in component main (L_per_s)');
LEGEND_CONSTANTS(:,46) = strpad('R_headV in component main (kPa_s_per_L)');
LEGEND_STATES(:,12) = strpad('q_lArmC in component main (litre)');
LEGEND_CONSTANTS(:,47) = strpad('q_lArmC_us in component main (litre)');
LEGEND_ALGEBRAIC(:,41) = strpad('u_lArmC in component main (kPa)');
LEGEND_CONSTANTS(:,48) = strpad('E_lArmC in component main (kPa_per_L)');
LEGEND_ALGEBRAIC(:,43) = strpad('v_lArmV in component main (L_per_s)');
LEGEND_CONSTANTS(:,49) = strpad('R_lArmV in component main (kPa_s_per_L)');
LEGEND_STATES(:,13) = strpad('q_rArmC in component main (litre)');
LEGEND_CONSTANTS(:,50) = strpad('q_rArmC_us in component main (litre)');
LEGEND_ALGEBRAIC(:,44) = strpad('u_rArmC in component main (kPa)');
LEGEND_CONSTANTS(:,51) = strpad('E_rArmC in component main (kPa_per_L)');
LEGEND_ALGEBRAIC(:,46) = strpad('v_rArmV in component main (L_per_s)');
LEGEND_CONSTANTS(:,52) = strpad('R_rArmV in component main (kPa_s_per_L)');
LEGEND_STATES(:,14) = strpad('q_A1 in component main (litre)');
LEGEND_CONSTANTS(:,53) = strpad('q_A1_us in component main (litre)');
LEGEND_STATES(:,15) = strpad('q_A2 in component main (litre)');
LEGEND_CONSTANTS(:,54) = strpad('q_A2_us in component main (litre)');
LEGEND_STATES(:,16) = strpad('q_A3 in component main (litre)');
LEGEND_CONSTANTS(:,55) = strpad('q_A3_us in component main (litre)');
LEGEND_STATES(:,17) = strpad('q_A4 in component main (litre)');
LEGEND_CONSTANTS(:,56) = strpad('q_A4_us in component main (litre)');
LEGEND_STATES(:,18) = strpad('q_A5 in component main (litre)');
LEGEND_CONSTANTS(:,57) = strpad('q_A5_us in component main (litre)');
LEGEND_STATES(:,19) = strpad('q_A6 in component main (litre)');
LEGEND_CONSTANTS(:,58) = strpad('q_A6_us in component main (litre)');
LEGEND_STATES(:,20) = strpad('q_A7 in component main (litre)');
LEGEND_CONSTANTS(:,59) = strpad('q_A7_us in component main (litre)');
LEGEND_STATES(:,21) = strpad('q_A8 in component main (litre)');
LEGEND_CONSTANTS(:,60) = strpad('q_A8_us in component main (litre)');
LEGEND_ALGEBRAIC(:,55) = strpad('v_A1 in component main (L_per_s)');
LEGEND_ALGEBRAIC(:,56) = strpad('v_A2 in component main (L_per_s)');
LEGEND_ALGEBRAIC(:,57) = strpad('v_A3 in component main (L_per_s)');
LEGEND_ALGEBRAIC(:,58) = strpad('v_A4 in component main (L_per_s)');
LEGEND_ALGEBRAIC(:,59) = strpad('v_A5 in component main (L_per_s)');
LEGEND_ALGEBRAIC(:,60) = strpad('v_A6 in component main (L_per_s)');
LEGEND_ALGEBRAIC(:,61) = strpad('v_A7 in component main (L_per_s)');
LEGEND_ALGEBRAIC(:,62) = strpad('v_A8 in component main (L_per_s)');
LEGEND_ALGEBRAIC(:,47) = strpad('u_A1 in component main (kPa)');
LEGEND_ALGEBRAIC(:,48) = strpad('u_A2 in component main (kPa)');
LEGEND_ALGEBRAIC(:,49) = strpad('u_A3 in component main (kPa)');
LEGEND_ALGEBRAIC(:,50) = strpad('u_A4 in component main (kPa)');
LEGEND_ALGEBRAIC(:,51) = strpad('u_A5 in component main (kPa)');
LEGEND_ALGEBRAIC(:,52) = strpad('u_A6 in component main (kPa)');
LEGEND_ALGEBRAIC(:,53) = strpad('u_A7 in component main (kPa)');
LEGEND_ALGEBRAIC(:,54) = strpad('u_A8 in component main (kPa)');
LEGEND_CONSTANTS(:,61) = strpad('E_A1 in component main (kPa_per_L)');
LEGEND_CONSTANTS(:,62) = strpad('E_A2 in component main (kPa_per_L)');
LEGEND_CONSTANTS(:,63) = strpad('E_A3 in component main (kPa_per_L)');
LEGEND_CONSTANTS(:,64) = strpad('E_A4 in component main (kPa_per_L)');
LEGEND_CONSTANTS(:,65) = strpad('E_A5 in component main (kPa_per_L)');
LEGEND_CONSTANTS(:,66) = strpad('E_A6 in component main (kPa_per_L)');
LEGEND_CONSTANTS(:,67) = strpad('E_A7 in component main (kPa_per_L)');
LEGEND_CONSTANTS(:,68) = strpad('E_A8 in component main (kPa_per_L)');
LEGEND_CONSTANTS(:,69) = strpad('R_A1 in component main (kPa_s_per_L)');
LEGEND_CONSTANTS(:,70) = strpad('R_A2 in component main (kPa_s_per_L)');
LEGEND_CONSTANTS(:,71) = strpad('R_A3 in component main (kPa_s_per_L)');
LEGEND_CONSTANTS(:,72) = strpad('R_A4 in component main (kPa_s_per_L)');
LEGEND_CONSTANTS(:,73) = strpad('R_A5 in component main (kPa_s_per_L)');
LEGEND_CONSTANTS(:,74) = strpad('R_A6 in component main (kPa_s_per_L)');
LEGEND_CONSTANTS(:,75) = strpad('R_A7 in component main (kPa_s_per_L)');
LEGEND_CONSTANTS(:,76) = strpad('R_A8 in component main (kPa_s_per_L)');
LEGEND_ALGEBRAIC(:,64) = strpad('v_lInfPhrenicA in component main (L_per_s)');
LEGEND_CONSTANTS(:,77) = strpad('R_lInfPhrenicA in component main (kPa_s_per_L)');
LEGEND_STATES(:,22) = strpad('q_lAdrenalGlandC in component main (litre)');
LEGEND_CONSTANTS(:,78) = strpad('q_lAdrenalGlandC_us in component main (litre)');
LEGEND_ALGEBRAIC(:,63) = strpad('u_lAdrenalGlandC in component main (kPa)');
LEGEND_CONSTANTS(:,79) = strpad('E_lAdrenalGlandC in component main (kPa_per_L)');
LEGEND_ALGEBRAIC(:,66) = strpad('v_lAdrenalV in component main (L_per_s)');
LEGEND_CONSTANTS(:,80) = strpad('R_lAdrenalV in component main (kPa_s_per_L)');
LEGEND_STATES(:,23) = strpad('q_lInfPhrenicV in component main (litre)');
LEGEND_CONSTANTS(:,81) = strpad('q_lInfPhrenicV_us in component main (litre)');
LEGEND_ALGEBRAIC(:,65) = strpad('u_lInfPhrenicV in component main (kPa)');
LEGEND_CONSTANTS(:,82) = strpad('E_lInfPhrenicV in component main (kPa_per_L)');
LEGEND_ALGEBRAIC(:,105) = strpad('v_lInfPhrenicV in component main (L_per_s)');
LEGEND_CONSTANTS(:,83) = strpad('R_lInfPhrenicV in component main (kPa_s_per_L)');
LEGEND_ALGEBRAIC(:,68) = strpad('v_rInfPhrenicA in component main (L_per_s)');
LEGEND_CONSTANTS(:,84) = strpad('R_rInfPhrenicA in component main (kPa_s_per_L)');
LEGEND_STATES(:,24) = strpad('q_rAdrenalGlandC in component main (litre)');
LEGEND_CONSTANTS(:,85) = strpad('q_rAdrenalGlandC_us in component main (litre)');
LEGEND_ALGEBRAIC(:,67) = strpad('u_rAdrenalGlandC in component main (kPa)');
LEGEND_CONSTANTS(:,86) = strpad('E_rAdrenalGlandC in component main (kPa_per_L)');
LEGEND_ALGEBRAIC(:,70) = strpad('v_rAdrenalV in component main (L_per_s)');
LEGEND_CONSTANTS(:,87) = strpad('R_rAdrenalV in component main (kPa_s_per_L)');
LEGEND_STATES(:,25) = strpad('q_rInfPhrenicV in component main (litre)');
LEGEND_CONSTANTS(:,88) = strpad('q_rInfPhrenicV_us in component main (litre)');
LEGEND_ALGEBRAIC(:,69) = strpad('u_rInfPhrenicV in component main (kPa)');
LEGEND_CONSTANTS(:,89) = strpad('E_rInfPhrenicV in component main (kPa_per_L)');
LEGEND_ALGEBRAIC(:,107) = strpad('v_rInfPhrenicV in component main (L_per_s)');
LEGEND_CONSTANTS(:,90) = strpad('R_rInfPhrenicV in component main (kPa_s_per_L)');
LEGEND_ALGEBRAIC(:,72) = strpad('v_celiacA in component main (L_per_s)');
LEGEND_CONSTANTS(:,91) = strpad('R_celiacA in component main (kPa_s_per_L)');
LEGEND_STATES(:,26) = strpad('q_celiacA in component main (litre)');
LEGEND_CONSTANTS(:,92) = strpad('q_celiacA_us in component main (litre)');
LEGEND_ALGEBRAIC(:,71) = strpad('u_celiacA in component main (kPa)');
LEGEND_CONSTANTS(:,93) = strpad('E_celiacA in component main (kPa_per_L)');
LEGEND_CONSTANTS(:,94) = strpad('z_celiacA in component main (meter)');
LEGEND_ALGEBRAIC(:,74) = strpad('v_supMesA in component main (L_per_s)');
LEGEND_CONSTANTS(:,95) = strpad('R_supMesA in component main (kPa_s_per_L)');
LEGEND_STATES(:,27) = strpad('q_supMesA in component main (litre)');
LEGEND_CONSTANTS(:,96) = strpad('q_supMesA_us in component main (litre)');
LEGEND_ALGEBRAIC(:,73) = strpad('u_supMesA in component main (kPa)');
LEGEND_CONSTANTS(:,97) = strpad('E_supMesA in component main (kPa_per_L)');
LEGEND_CONSTANTS(:,98) = strpad('z_supMesA in component main (meter)');
LEGEND_ALGEBRAIC(:,76) = strpad('v_lRenalA in component main (L_per_s)');
LEGEND_CONSTANTS(:,99) = strpad('R_lRenalA in component main (kPa_s_per_L)');
LEGEND_STATES(:,28) = strpad('q_lGlomerulusC in component main (litre)');
LEGEND_CONSTANTS(:,100) = strpad('q_lGlomerulusC_us in component main (litre)');
LEGEND_ALGEBRAIC(:,75) = strpad('u_lGlomerulusC in component main (kPa)');
LEGEND_CONSTANTS(:,101) = strpad('E_lGlomerulusC in component main (kPa_per_L)');
LEGEND_ALGEBRAIC(:,78) = strpad('v_lEffArteriol in component main (L_per_s)');
LEGEND_CONSTANTS(:,102) = strpad('R_lEffArteriol in component main (kPa_s_per_L)');
LEGEND_STATES(:,29) = strpad('q_lPeritubularC in component main (litre)');
LEGEND_CONSTANTS(:,103) = strpad('q_lPeritubularC_us in component main (litre)');
LEGEND_ALGEBRAIC(:,77) = strpad('u_lPeritubularC in component main (kPa)');
LEGEND_CONSTANTS(:,104) = strpad('E_lPeritubularC in component main (kPa_per_L)');
LEGEND_ALGEBRAIC(:,111) = strpad('v_lRenalV in component main (L_per_s)');
LEGEND_CONSTANTS(:,105) = strpad('R_lRenalV in component main (kPa_s_per_L)');
LEGEND_ALGEBRAIC(:,80) = strpad('v_rRenalA in component main (L_per_s)');
LEGEND_CONSTANTS(:,106) = strpad('R_rRenalA in component main (kPa_s_per_L)');
LEGEND_STATES(:,30) = strpad('q_rGlomerulusC in component main (litre)');
LEGEND_CONSTANTS(:,107) = strpad('q_rGlomerulusC_us in component main (litre)');
LEGEND_ALGEBRAIC(:,79) = strpad('u_rGlomerulusC in component main (kPa)');
LEGEND_CONSTANTS(:,108) = strpad('E_rGlomerulusC in component main (kPa_per_L)');
LEGEND_ALGEBRAIC(:,82) = strpad('v_rEffArteriol in component main (L_per_s)');
LEGEND_CONSTANTS(:,109) = strpad('R_rEffArteriol in component main (kPa_s_per_L)');
LEGEND_STATES(:,31) = strpad('q_rPeritubularC in component main (litre)');
LEGEND_CONSTANTS(:,110) = strpad('q_rPeritubularC_us in component main (litre)');
LEGEND_ALGEBRAIC(:,81) = strpad('u_rPeritubularC in component main (kPa)');
LEGEND_CONSTANTS(:,111) = strpad('E_rPeritubularC in component main (kPa_per_L)');
LEGEND_ALGEBRAIC(:,113) = strpad('v_rRenalV in component main (L_per_s)');
LEGEND_CONSTANTS(:,112) = strpad('R_rRenalV in component main (kPa_s_per_L)');
LEGEND_ALGEBRAIC(:,93) = strpad('v_infMesA in component main (L_per_s)');
LEGEND_CONSTANTS(:,113) = strpad('R_infMesA in component main (kPa_s_per_L)');
LEGEND_ALGEBRAIC(:,84) = strpad('v_stomachA in component main (L_per_s)');
LEGEND_CONSTANTS(:,114) = strpad('R_stomachA in component main (kPa_s_per_L)');
LEGEND_STATES(:,32) = strpad('q_stomachC in component main (litre)');
LEGEND_CONSTANTS(:,115) = strpad('q_stomachC_us in component main (litre)');
LEGEND_ALGEBRAIC(:,83) = strpad('u_stomachC in component main (kPa)');
LEGEND_CONSTANTS(:,116) = strpad('E_stomachC in component main (kPa_per_L)');
LEGEND_CONSTANTS(:,117) = strpad('z_stomachC in component main (meter)');
LEGEND_ALGEBRAIC(:,96) = strpad('v_stomachV in component main (L_per_s)');
LEGEND_CONSTANTS(:,118) = strpad('R_stomachV in component main (kPa_s_per_L)');
LEGEND_ALGEBRAIC(:,86) = strpad('v_spleenA in component main (L_per_s)');
LEGEND_CONSTANTS(:,119) = strpad('R_spleenA in component main (kPa_s_per_L)');
LEGEND_STATES(:,33) = strpad('q_spleenC in component main (litre)');
LEGEND_CONSTANTS(:,120) = strpad('q_spleenC_us in component main (litre)');
LEGEND_ALGEBRAIC(:,85) = strpad('u_spleenC in component main (kPa)');
LEGEND_CONSTANTS(:,121) = strpad('E_spleenC in component main (kPa_per_L)');
LEGEND_CONSTANTS(:,122) = strpad('z_spleenC in component main (meter)');
LEGEND_ALGEBRAIC(:,97) = strpad('v_spleenV in component main (L_per_s)');
LEGEND_CONSTANTS(:,123) = strpad('R_spleenV in component main (kPa_s_per_L)');
LEGEND_ALGEBRAIC(:,88) = strpad('v_pancreas1A in component main (L_per_s)');
LEGEND_ALGEBRAIC(:,89) = strpad('v_pancreas2A in component main (L_per_s)');
LEGEND_CONSTANTS(:,124) = strpad('R_pancreas1A in component main (kPa_s_per_L)');
LEGEND_CONSTANTS(:,125) = strpad('R_pancreas2A in component main (kPa_s_per_L)');
LEGEND_STATES(:,34) = strpad('q_pancreasC in component main (litre)');
LEGEND_CONSTANTS(:,126) = strpad('q_pancreasC_us in component main (litre)');
LEGEND_ALGEBRAIC(:,87) = strpad('u_pancreasC in component main (kPa)');
LEGEND_CONSTANTS(:,127) = strpad('E_pancreasC in component main (kPa_per_L)');
LEGEND_CONSTANTS(:,128) = strpad('z_pancreasC in component main (meter)');
LEGEND_ALGEBRAIC(:,98) = strpad('v_pancreasV in component main (L_per_s)');
LEGEND_CONSTANTS(:,129) = strpad('R_pancreasV in component main (kPa_s_per_L)');
LEGEND_ALGEBRAIC(:,91) = strpad('v_intestineA in component main (L_per_s)');
LEGEND_CONSTANTS(:,130) = strpad('R_intestineA in component main (kPa_s_per_L)');
LEGEND_STATES(:,35) = strpad('q_intestineC in component main (litre)');
LEGEND_CONSTANTS(:,131) = strpad('q_intestineC_us in component main (litre)');
LEGEND_ALGEBRAIC(:,90) = strpad('u_intestineC in component main (kPa)');
LEGEND_CONSTANTS(:,132) = strpad('E_intestineC in component main (kPa_per_L)');
LEGEND_CONSTANTS(:,133) = strpad('z_ in component main (meter)');
LEGEND_ALGEBRAIC(:,99) = strpad('v_intestineV in component main (L_per_s)');
LEGEND_CONSTANTS(:,134) = strpad('R_intestineV in component main (kPa_s_per_L)');
LEGEND_ALGEBRAIC(:,94) = strpad('v_colonA in component main (L_per_s)');
LEGEND_CONSTANTS(:,135) = strpad('R_colonA in component main (kPa_s_per_L)');
LEGEND_STATES(:,36) = strpad('q_colonC in component main (litre)');
LEGEND_CONSTANTS(:,136) = strpad('q_colonC_us in component main (litre)');
LEGEND_ALGEBRAIC(:,92) = strpad('u_colonC in component main (kPa)');
LEGEND_CONSTANTS(:,137) = strpad('E_colonC in component main (kPa_per_L)');
LEGEND_CONSTANTS(:,138) = strpad('z_colonC in component main (meter)');
LEGEND_ALGEBRAIC(:,100) = strpad('v_colonV in component main (L_per_s)');
LEGEND_CONSTANTS(:,139) = strpad('R_colonV in component main (kPa_s_per_L)');
LEGEND_STATES(:,37) = strpad('q_portalV in component main (litre)');
LEGEND_CONSTANTS(:,140) = strpad('q_portalV_us in component main (litre)');
LEGEND_ALGEBRAIC(:,95) = strpad('u_portalV in component main (kPa)');
LEGEND_CONSTANTS(:,141) = strpad('E_portalV in component main (kPa_per_L)');
LEGEND_CONSTANTS(:,142) = strpad('z_portalV in component main (meter)');
LEGEND_ALGEBRAIC(:,102) = strpad('v_portalV in component main (L_per_s)');
LEGEND_CONSTANTS(:,143) = strpad('R_portalV in component main (kPa_s_per_L)');
LEGEND_ALGEBRAIC(:,103) = strpad('v_liverA in component main (L_per_s)');
LEGEND_CONSTANTS(:,144) = strpad('R_liverA in component main (kPa_s_per_L)');
LEGEND_STATES(:,38) = strpad('q_liverC in component main (litre)');
LEGEND_CONSTANTS(:,145) = strpad('q_liverC_us in component main (litre)');
LEGEND_ALGEBRAIC(:,101) = strpad('u_liverC in component main (kPa)');
LEGEND_CONSTANTS(:,146) = strpad('E_liverC in component main (kPa_per_L)');
LEGEND_CONSTANTS(:,147) = strpad('z_liverC in component main (meter)');
LEGEND_ALGEBRAIC(:,109) = strpad('v_liverV in component main (L_per_s)');
LEGEND_CONSTANTS(:,148) = strpad('R_liverV in component main (kPa_s_per_L)');
LEGEND_STATES(:,39) = strpad('q_V1 in component main (litre)');
LEGEND_CONSTANTS(:,149) = strpad('q_V1_us in component main (litre)');
LEGEND_STATES(:,40) = strpad('q_V2 in component main (litre)');
LEGEND_CONSTANTS(:,150) = strpad('q_V2_us in component main (litre)');
LEGEND_STATES(:,41) = strpad('q_V3 in component main (litre)');
LEGEND_CONSTANTS(:,151) = strpad('q_V3_us in component main (litre)');
LEGEND_STATES(:,42) = strpad('q_V4 in component main (litre)');
LEGEND_CONSTANTS(:,152) = strpad('q_V4_us in component main (litre)');
LEGEND_STATES(:,43) = strpad('q_V5 in component main (litre)');
LEGEND_CONSTANTS(:,153) = strpad('q_V5_us in component main (litre)');
LEGEND_STATES(:,44) = strpad('q_V6 in component main (litre)');
LEGEND_CONSTANTS(:,154) = strpad('q_V6_us in component main (litre)');
LEGEND_ALGEBRAIC(:,115) = strpad('v_V1 in component main (L_per_s)');
LEGEND_ALGEBRAIC(:,116) = strpad('v_V2 in component main (L_per_s)');
LEGEND_ALGEBRAIC(:,117) = strpad('v_V3 in component main (L_per_s)');
LEGEND_ALGEBRAIC(:,118) = strpad('v_V4 in component main (L_per_s)');
LEGEND_ALGEBRAIC(:,119) = strpad('v_V5 in component main (L_per_s)');
LEGEND_ALGEBRAIC(:,120) = strpad('v_V6 in component main (L_per_s)');
LEGEND_ALGEBRAIC(:,104) = strpad('u_V1 in component main (kPa)');
LEGEND_ALGEBRAIC(:,106) = strpad('u_V2 in component main (kPa)');
LEGEND_ALGEBRAIC(:,108) = strpad('u_V3 in component main (kPa)');
LEGEND_ALGEBRAIC(:,110) = strpad('u_V4 in component main (kPa)');
LEGEND_ALGEBRAIC(:,112) = strpad('u_V5 in component main (kPa)');
LEGEND_ALGEBRAIC(:,114) = strpad('u_V6 in component main (kPa)');
LEGEND_CONSTANTS(:,155) = strpad('E_V1 in component main (kPa_per_L)');
LEGEND_CONSTANTS(:,156) = strpad('E_V2 in component main (kPa_per_L)');
LEGEND_CONSTANTS(:,157) = strpad('E_V3 in component main (kPa_per_L)');
LEGEND_CONSTANTS(:,158) = strpad('E_V4 in component main (kPa_per_L)');
LEGEND_CONSTANTS(:,159) = strpad('E_V5 in component main (kPa_per_L)');
LEGEND_CONSTANTS(:,160) = strpad('E_V6 in component main (kPa_per_L)');
LEGEND_CONSTANTS(:,161) = strpad('R_V1 in component main (kPa_s_per_L)');
LEGEND_CONSTANTS(:,162) = strpad('R_V2 in component main (kPa_s_per_L)');
LEGEND_CONSTANTS(:,163) = strpad('R_V3 in component main (kPa_s_per_L)');
LEGEND_CONSTANTS(:,164) = strpad('R_V4 in component main (kPa_s_per_L)');
LEGEND_CONSTANTS(:,165) = strpad('R_V5 in component main (kPa_s_per_L)');
LEGEND_CONSTANTS(:,166) = strpad('R_V6 in component main (kPa_s_per_L)');
LEGEND_ALGEBRAIC(:,122) = strpad('v_lCommonIliacA in component main (L_per_s)');
LEGEND_CONSTANTS(:,167) = strpad('R_lCommonIliacA in component main (kPa_s_per_L)');
LEGEND_STATES(:,45) = strpad('q_lLegC in component main (litre)');
LEGEND_CONSTANTS(:,168) = strpad('q_lLegC_us in component main (litre)');
LEGEND_ALGEBRAIC(:,121) = strpad('u_lLegC in component main (kPa)');
LEGEND_CONSTANTS(:,169) = strpad('E_lLegC in component main (kPa_per_L)');
LEGEND_ALGEBRAIC(:,123) = strpad('v_lCommonIliacV in component main (L_per_s)');
LEGEND_CONSTANTS(:,170) = strpad('R_lCommonIliacV in component main (kPa_s_per_L)');
LEGEND_ALGEBRAIC(:,125) = strpad('v_rCommonIliacA in component main (L_per_s)');
LEGEND_CONSTANTS(:,171) = strpad('R_rCommonIliacA in component main (kPa_s_per_L)');
LEGEND_STATES(:,46) = strpad('q_rLegC in component main (litre)');
LEGEND_CONSTANTS(:,172) = strpad('q_rLegC_us in component main (litre)');
LEGEND_ALGEBRAIC(:,124) = strpad('u_rLegC in component main (kPa)');
LEGEND_CONSTANTS(:,173) = strpad('E_rLegC in component main (kPa_per_L)');
LEGEND_ALGEBRAIC(:,126) = strpad('v_rCommonIliacV in component main (L_per_s)');
LEGEND_CONSTANTS(:,174) = strpad('R_rCommonIliacV in component main (kPa_s_per_L)');
LEGEND_ALGEBRAIC(:,4) = strpad('q_TotHeart in component main (litre)');
LEGEND_ALGEBRAIC(:,6) = strpad('q_TotLung in component main (litre)');
LEGEND_ALGEBRAIC(:,8) = strpad('q_TotHead in component main (litre)');
LEGEND_ALGEBRAIC(:,10) = strpad('q_TotThoracic in component main (litre)');
LEGEND_ALGEBRAIC(:,12) = strpad('q_TotAorta in component main (litre)');
LEGEND_ALGEBRAIC(:,14) = strpad('q_TotRenal in component main (litre)');
LEGEND_ALGEBRAIC(:,16) = strpad('q_TotGut in component main (litre)');
LEGEND_ALGEBRAIC(:,18) = strpad('q_TotVenaCava in component main (litre)');
LEGEND_ALGEBRAIC(:,20) = strpad('q_TotLimbs in component main (litre)');
LEGEND_ALGEBRAIC(:,23) = strpad('q_TotBlood in component main (litre)');
LEGEND_RATES(:,1) = strpad('d/dt q_LV in component main (litre)');
LEGEND_RATES(:,2) = strpad('d/dt q_RV in component main (litre)');
LEGEND_RATES(:,3) = strpad('d/dt q_LA in component main (litre)');
LEGEND_RATES(:,4) = strpad('d/dt q_RA in component main (litre)');
LEGEND_RATES(:,5) = strpad('d/dt q_pulmA in component main (litre)');
LEGEND_RATES(:,6) = strpad('d/dt q_lungC in component main (litre)');
LEGEND_RATES(:,7) = strpad('d/dt q_AA in component main (litre)');
LEGEND_RATES(:,8) = strpad('d/dt q_brachiocephalicA in component main (litre)');
LEGEND_RATES(:,9) = strpad('d/dt q_rSubclavianA in component main (litre)');
LEGEND_RATES(:,10) = strpad('d/dt q_lSubclavianA in component main (litre)');
LEGEND_RATES(:,11) = strpad('d/dt q_headC in component main (litre)');
LEGEND_RATES(:,12) = strpad('d/dt q_lArmC in component main (litre)');
LEGEND_RATES(:,13) = strpad('d/dt q_rArmC in component main (litre)');
LEGEND_RATES(:,14) = strpad('d/dt q_A1 in component main (litre)');
LEGEND_RATES(:,15) = strpad('d/dt q_A2 in component main (litre)');
LEGEND_RATES(:,16) = strpad('d/dt q_A3 in component main (litre)');
LEGEND_RATES(:,17) = strpad('d/dt q_A4 in component main (litre)');
LEGEND_RATES(:,18) = strpad('d/dt q_A5 in component main (litre)');
LEGEND_RATES(:,19) = strpad('d/dt q_A6 in component main (litre)');
LEGEND_RATES(:,20) = strpad('d/dt q_A7 in component main (litre)');
LEGEND_RATES(:,21) = strpad('d/dt q_A8 in component main (litre)');
LEGEND_RATES(:,22) = strpad('d/dt q_lAdrenalGlandC in component main (litre)');
LEGEND_RATES(:,23) = strpad('d/dt q_lInfPhrenicV in component main (litre)');
LEGEND_RATES(:,24) = strpad('d/dt q_rAdrenalGlandC in component main (litre)');
LEGEND_RATES(:,25) = strpad('d/dt q_rInfPhrenicV in component main (litre)');
LEGEND_RATES(:,26) = strpad('d/dt q_celiacA in component main (litre)');
LEGEND_RATES(:,27) = strpad('d/dt q_supMesA in component main (litre)');
LEGEND_RATES(:,28) = strpad('d/dt q_lGlomerulusC in component main (litre)');
LEGEND_RATES(:,29) = strpad('d/dt q_lPeritubularC in component main (litre)');
LEGEND_RATES(:,30) = strpad('d/dt q_rGlomerulusC in component main (litre)');
LEGEND_RATES(:,31) = strpad('d/dt q_rPeritubularC in component main (litre)');
LEGEND_RATES(:,32) = strpad('d/dt q_stomachC in component main (litre)');
LEGEND_RATES(:,33) = strpad('d/dt q_spleenC in component main (litre)');
LEGEND_RATES(:,34) = strpad('d/dt q_pancreasC in component main (litre)');
LEGEND_RATES(:,35) = strpad('d/dt q_intestineC in component main (litre)');
LEGEND_RATES(:,36) = strpad('d/dt q_colonC in component main (litre)');
LEGEND_RATES(:,37) = strpad('d/dt q_portalV in component main (litre)');
LEGEND_RATES(:,38) = strpad('d/dt q_liverC in component main (litre)');
LEGEND_RATES(:,39) = strpad('d/dt q_V1 in component main (litre)');
LEGEND_RATES(:,40) = strpad('d/dt q_V2 in component main (litre)');
LEGEND_RATES(:,41) = strpad('d/dt q_V3 in component main (litre)');
LEGEND_RATES(:,42) = strpad('d/dt q_V4 in component main (litre)');
LEGEND_RATES(:,43) = strpad('d/dt q_V5 in component main (litre)');
LEGEND_RATES(:,44) = strpad('d/dt q_V6 in component main (litre)');
LEGEND_RATES(:,45) = strpad('d/dt q_lLegC in component main (litre)');
LEGEND_RATES(:,46) = strpad('d/dt q_rLegC in component main (litre)');
LEGEND_STATES = LEGEND_STATES';
LEGEND_ALGEBRAIC = LEGEND_ALGEBRAIC';
LEGEND_RATES = LEGEND_RATES';
LEGEND_CONSTANTS = LEGEND_CONSTANTS';
end
function [STATES, CONSTANTS] = initConsts()
VOI = 0; CONSTANTS = []; STATES = []; ALGEBRAIC = [];
CONSTANTS(:,1) = 1000;
CONSTANTS(:,2) = 9.81;
CONSTANTS(:,3) = 90;
CONSTANTS(:,4) = 1;
CONSTANTS(:,5) = 0.1;
CONSTANTS(:,6) = 0.1;
STATES(:,1) = 2.24894867772612;
CONSTANTS(:,7) = 0.005;
CONSTANTS(:,8) = 320;
CONSTANTS(:,9) = 6.667;
STATES(:,2) = 2.24212874273495;
CONSTANTS(:,10) = 0.01;
CONSTANTS(:,11) = 70;
CONSTANTS(:,12) = 2;
STATES(:,3) = 1.50038322871398;
CONSTANTS(:,13) = 0.004;
CONSTANTS(:,14) = 10;
STATES(:,4) = 0.582873822068968;
CONSTANTS(:,15) = 0.004;
CONSTANTS(:,16) = 10;
CONSTANTS(:,17) = 1;
CONSTANTS(:,18) = 1;
CONSTANTS(:,19) = 1;
CONSTANTS(:,20) = 1;
STATES(:,5) = 0.274822042097049;
CONSTANTS(:,21) = 0.2;
CONSTANTS(:,22) = 200;
CONSTANTS(:,23) = 1;
STATES(:,6) = 0.274821056256821;
CONSTANTS(:,24) = 0.2;
CONSTANTS(:,25) = 200;
CONSTANTS(:,26) = 1;
STATES(:,7) = 1.43716360225001;
CONSTANTS(:,27) = 0.12;
CONSTANTS(:,28) = 80;
CONSTANTS(:,29) = 100;
STATES(:,8) = 0.658321340279823;
CONSTANTS(:,30) = 0.2;
CONSTANTS(:,31) = 200;
CONSTANTS(:,32) = 100;
CONSTANTS(:,33) = 100;
STATES(:,9) = 0.578637981993128;
CONSTANTS(:,34) = 0.2;
CONSTANTS(:,35) = 200;
CONSTANTS(:,36) = 100;
CONSTANTS(:,37) = 100;
CONSTANTS(:,38) = 100;
CONSTANTS(:,39) = 100;
STATES(:,10) = 0.609560299960373;
CONSTANTS(:,40) = 0.2;
CONSTANTS(:,41) = 200;
CONSTANTS(:,42) = 100;
CONSTANTS(:,43) = 100;
STATES(:,11) = 0.575700923676085;
CONSTANTS(:,44) = 0.2;
CONSTANTS(:,45) = 200;
CONSTANTS(:,46) = 100;
STATES(:,12) = 0.380415025779693;
CONSTANTS(:,47) = 0.06;
CONSTANTS(:,48) = 150;
CONSTANTS(:,49) = 100;
STATES(:,13) = 0.380415025779692;
CONSTANTS(:,50) = 0.06;
CONSTANTS(:,51) = 150;
CONSTANTS(:,52) = 100;
STATES(:,14) = 0.0726453866278764;
CONSTANTS(:,53) = 0.06;
STATES(:,15) = 0.0722595904606296;
CONSTANTS(:,54) = 0.06;
STATES(:,16) = 0.0717727262354559;
CONSTANTS(:,55) = 0.06;
STATES(:,17) = 0.0715328891139091;
CONSTANTS(:,56) = 0.06;
STATES(:,18) = 0.0714293557557069;
CONSTANTS(:,57) = 0.06;
STATES(:,19) = 0.0713497500336812;
CONSTANTS(:,58) = 0.06;
STATES(:,20) = 0.0712949341825069;
CONSTANTS(:,59) = 0.06;
STATES(:,21) = 0.0712201889071758;
CONSTANTS(:,60) = 0.06;
CONSTANTS(:,61) = 400;
CONSTANTS(:,62) = 400;
CONSTANTS(:,63) = 400;
CONSTANTS(:,64) = 400;
CONSTANTS(:,65) = 400;
CONSTANTS(:,66) = 400;
CONSTANTS(:,67) = 400;
CONSTANTS(:,68) = 400;
CONSTANTS(:,69) = 10000000;
CONSTANTS(:,70) = 100;
CONSTANTS(:,71) = 100;
CONSTANTS(:,72) = 100;
CONSTANTS(:,73) = 100;
CONSTANTS(:,74) = 100;
CONSTANTS(:,75) = 100;
CONSTANTS(:,76) = 100;
CONSTANTS(:,77) = 100;
STATES(:,22) = 0.226013520134949;
CONSTANTS(:,78) = 0.2;
CONSTANTS(:,79) = 200;
CONSTANTS(:,80) = 100;
STATES(:,23) = 0.226425525942081;
CONSTANTS(:,81) = 0.2;
CONSTANTS(:,82) = 200;
CONSTANTS(:,83) = 100;
CONSTANTS(:,84) = 100;
STATES(:,24) = 0.224729694488936;
CONSTANTS(:,85) = 0.2;
CONSTANTS(:,86) = 200;
CONSTANTS(:,87) = 100;
STATES(:,25) = 0.224899115493557;
CONSTANTS(:,88) = 0.2;
CONSTANTS(:,89) = 200;
CONSTANTS(:,90) = 100;
CONSTANTS(:,91) = 100;
STATES(:,26) = 0.0715428919998289;
CONSTANTS(:,92) = 0.06;
CONSTANTS(:,93) = 400;
CONSTANTS(:,94) = 0.2;
CONSTANTS(:,95) = 100;
STATES(:,27) = 0.071414457768405;
CONSTANTS(:,96) = 0.06;
CONSTANTS(:,97) = 400;
CONSTANTS(:,98) = 0.2;
CONSTANTS(:,99) = 100;
STATES(:,28) = 0.222843940557744;
CONSTANTS(:,100) = 0.2;
CONSTANTS(:,101) = 200;
CONSTANTS(:,102) = 100;
STATES(:,29) = 0.222892809988734;
CONSTANTS(:,103) = 0.2;
CONSTANTS(:,104) = 200;
CONSTANTS(:,105) = 100;
CONSTANTS(:,106) = 100;
STATES(:,30) = 0.222680450943523;
CONSTANTS(:,107) = 0.2;
CONSTANTS(:,108) = 200;
CONSTANTS(:,109) = 100;
STATES(:,31) = 0.222721287850087;
CONSTANTS(:,110) = 0.2;
CONSTANTS(:,111) = 200;
CONSTANTS(:,112) = 100;
CONSTANTS(:,113) = 100;
CONSTANTS(:,114) = 100;
STATES(:,32) = 0.105910755847991;
CONSTANTS(:,115) = 0.06;
CONSTANTS(:,116) = 100;
CONSTANTS(:,117) = 0.2;
CONSTANTS(:,118) = 2400;
CONSTANTS(:,119) = 100;
STATES(:,33) = 0.105910034847806;
CONSTANTS(:,120) = 0.06;
CONSTANTS(:,121) = 100;
CONSTANTS(:,122) = 0.2;
CONSTANTS(:,123) = 3000;
CONSTANTS(:,124) = 100;
CONSTANTS(:,125) = 100;
STATES(:,34) = 0.105787155209054;
CONSTANTS(:,126) = 0.06;
CONSTANTS(:,127) = 100;
CONSTANTS(:,128) = 0.2;
CONSTANTS(:,129) = 4000;
CONSTANTS(:,130) = 100;
STATES(:,35) = 0.105459895332545;
CONSTANTS(:,131) = 0.06;
CONSTANTS(:,132) = 100;
CONSTANTS(:,133) = 0.2;
CONSTANTS(:,134) = 1200;
CONSTANTS(:,135) = 100;
STATES(:,36) = 0.105317375726849;
CONSTANTS(:,136) = 0.06;
CONSTANTS(:,137) = 100;
CONSTANTS(:,138) = 0.2;
CONSTANTS(:,139) = 2000;
STATES(:,37) = 0.152013945600315;
CONSTANTS(:,140) = 0.06;
CONSTANTS(:,141) = 50;
CONSTANTS(:,142) = 0.2;
CONSTANTS(:,143) = 100;
CONSTANTS(:,144) = 800;
STATES(:,38) = 0.526188169704937;
CONSTANTS(:,145) = 0.06;
CONSTANTS(:,146) = 10;
CONSTANTS(:,147) = -0.5;
CONSTANTS(:,148) = 1;
STATES(:,39) = 0.0732527312969717;
CONSTANTS(:,149) = 0.06;
STATES(:,40) = 0.0724355014489091;
CONSTANTS(:,150) = 0.06;
STATES(:,41) = 0.0716607456049039;
CONSTANTS(:,151) = 0.06;
STATES(:,42) = 0.071501504166401;
CONSTANTS(:,152) = 0.06;
STATES(:,43) = 0.0714111536200381;
CONSTANTS(:,153) = 0.06;
STATES(:,44) = 0.0713861207574313;
CONSTANTS(:,154) = 0.06;
CONSTANTS(:,155) = 400;
CONSTANTS(:,156) = 400;
CONSTANTS(:,157) = 400;
CONSTANTS(:,158) = 400;
CONSTANTS(:,159) = 400;
CONSTANTS(:,160) = 400;
CONSTANTS(:,161) = 100;
CONSTANTS(:,162) = 100;
CONSTANTS(:,163) = 100;
CONSTANTS(:,164) = 100;
CONSTANTS(:,165) = 100;
CONSTANTS(:,166) = 100;
CONSTANTS(:,167) = 100;
STATES(:,45) = 0.0898390162613648;
CONSTANTS(:,168) = 0.06;
CONSTANTS(:,169) = 150;
CONSTANTS(:,170) = 4000;
CONSTANTS(:,171) = 100;
STATES(:,46) = 0.0898390162613648;
CONSTANTS(:,172) = 0.06;
CONSTANTS(:,173) = 150;
CONSTANTS(:,174) = 4000;
CONSTANTS(:,175) = ( CONSTANTS(:,3).* pi)./180.000;
if (isempty(STATES)), warning('Initial values for states not set');, end
end
function [RATES, ALGEBRAIC] = computeRates(VOI, STATES, CONSTANTS)
global algebraicVariableCount;
statesSize = size(STATES);
statesColumnCount = statesSize(2);
if ( statesColumnCount == 1)
STATES = STATES';
ALGEBRAIC = zeros(1, algebraicVariableCount);
utilOnes = 1;
else
statesRowCount = statesSize(1);
ALGEBRAIC = zeros(statesRowCount, algebraicVariableCount);
RATES = zeros(statesRowCount, statesColumnCount);
utilOnes = ones(statesRowCount, 1);
end
ALGEBRAIC(:,3) = VOI./CONSTANTS(:,4) - floor(VOI./CONSTANTS(:,4));
ALGEBRAIC(:,5) = piecewise({ALGEBRAIC(:,3)<0.400000, (( (CONSTANTS(:,8) - CONSTANTS(:,9)).*ALGEBRAIC(:,3))./CONSTANTS(:,6)).*exp( 0.500000.*(1.00000 - power(ALGEBRAIC(:,3)./CONSTANTS(:,6), 2.00000)))+CONSTANTS(:,9) , ALGEBRAIC(:,3)<0.600000, (( (CONSTANTS(:,8) - CONSTANTS(:,9)).*0.400000)./CONSTANTS(:,6)).*exp( 0.500000.*(1.00000 - power(0.400000./CONSTANTS(:,6), 2.00000)))+CONSTANTS(:,9) }, CONSTANTS(:,9));
ALGEBRAIC(:,7) = ALGEBRAIC(:,5).*(STATES(:,1) - CONSTANTS(:,7));
ALGEBRAIC(:,22) = CONSTANTS(:,28).*(STATES(:,7) - CONSTANTS(:,27));
ALGEBRAIC(:,25) = piecewise({ALGEBRAIC(:,7)>ALGEBRAIC(:,22), (ALGEBRAIC(:,7) - ALGEBRAIC(:,22))./CONSTANTS(:,17) }, 0.00000);
ALGEBRAIC(:,13) = CONSTANTS(:,14).*(STATES(:,3) - CONSTANTS(:,13));
ALGEBRAIC(:,19) = piecewise({ALGEBRAIC(:,13)>ALGEBRAIC(:,7), (ALGEBRAIC(:,13) - ALGEBRAIC(:,7))./CONSTANTS(:,20) }, 0.00000);
RATES(:,1) = ALGEBRAIC(:,19) - ALGEBRAIC(:,25);
ALGEBRAIC(:,9) = piecewise({ALGEBRAIC(:,3)<0.400000, (( (CONSTANTS(:,11) - CONSTANTS(:,12)).*ALGEBRAIC(:,3))./CONSTANTS(:,6)).*exp( 0.500000.*(1.00000 - power(ALGEBRAIC(:,3)./CONSTANTS(:,6), 2.00000)))+CONSTANTS(:,12) , ALGEBRAIC(:,3)<0.600000, (( (CONSTANTS(:,11) - CONSTANTS(:,12)).*0.400000)./CONSTANTS(:,6)).*exp( 0.500000.*(1.00000 - power(0.400000./CONSTANTS(:,6), 2.00000)))+CONSTANTS(:,12) }, CONSTANTS(:,12));
ALGEBRAIC(:,11) = ALGEBRAIC(:,9).*(STATES(:,2) - CONSTANTS(:,10));
ALGEBRAIC(:,21) = CONSTANTS(:,22).*(STATES(:,5) - CONSTANTS(:,21));
ALGEBRAIC(:,24) = piecewise({ALGEBRAIC(:,11)>ALGEBRAIC(:,21), (ALGEBRAIC(:,11) - ALGEBRAIC(:,21))./CONSTANTS(:,18) }, 0.00000);
ALGEBRAIC(:,15) = CONSTANTS(:,16).*(STATES(:,4) - CONSTANTS(:,15));
ALGEBRAIC(:,17) = piecewise({ALGEBRAIC(:,15)>ALGEBRAIC(:,11), (ALGEBRAIC(:,15) - ALGEBRAIC(:,11))./CONSTANTS(:,19) }, 0.00000);
RATES(:,2) = ALGEBRAIC(:,17) - ALGEBRAIC(:,24);
ALGEBRAIC(:,26) = CONSTANTS(:,25).*(STATES(:,6) - CONSTANTS(:,24));
ALGEBRAIC(:,28) = (ALGEBRAIC(:,21) - ALGEBRAIC(:,26))./CONSTANTS(:,23);
RATES(:,5) = ALGEBRAIC(:,24) - ALGEBRAIC(:,28);
ALGEBRAIC(:,30) = (ALGEBRAIC(:,26) - ALGEBRAIC(:,13))./CONSTANTS(:,26);
RATES(:,3) = ALGEBRAIC(:,30) - ALGEBRAIC(:,19);
RATES(:,6) = ALGEBRAIC(:,28) - ALGEBRAIC(:,30);
ALGEBRAIC(:,27) = CONSTANTS(:,31).*(STATES(:,8) - CONSTANTS(:,30));
ALGEBRAIC(:,29) = (ALGEBRAIC(:,22) - ALGEBRAIC(:,27))./CONSTANTS(:,29);
ALGEBRAIC(:,31) = CONSTANTS(:,35).*(STATES(:,9) - CONSTANTS(:,34));
ALGEBRAIC(:,32) = (ALGEBRAIC(:,27) - ALGEBRAIC(:,31))./CONSTANTS(:,32);
ALGEBRAIC(:,35) = CONSTANTS(:,45).*(STATES(:,11) - CONSTANTS(:,44));
ALGEBRAIC(:,36) = (ALGEBRAIC(:,27) - ALGEBRAIC(:,35))./CONSTANTS(:,33);
RATES(:,8) = (ALGEBRAIC(:,29) - ALGEBRAIC(:,32)) - ALGEBRAIC(:,36);
ALGEBRAIC(:,37) = (ALGEBRAIC(:,31) - ALGEBRAIC(:,35))./CONSTANTS(:,37);
ALGEBRAIC(:,38) = (ALGEBRAIC(:,22) - ALGEBRAIC(:,35))./CONSTANTS(:,38);
ALGEBRAIC(:,33) = CONSTANTS(:,41).*(STATES(:,10) - CONSTANTS(:,40));
ALGEBRAIC(:,39) = (ALGEBRAIC(:,33) - ALGEBRAIC(:,35))./CONSTANTS(:,43);
ALGEBRAIC(:,40) = (ALGEBRAIC(:,35) - ALGEBRAIC(:,15))./CONSTANTS(:,46);
RATES(:,11) = (ALGEBRAIC(:,37)+ALGEBRAIC(:,36)+ALGEBRAIC(:,38)+ALGEBRAIC(:,39)) - ALGEBRAIC(:,40);
ALGEBRAIC(:,34) = (ALGEBRAIC(:,22) - ALGEBRAIC(:,33))./CONSTANTS(:,39);
ALGEBRAIC(:,41) = CONSTANTS(:,48).*(STATES(:,12) - CONSTANTS(:,47));
ALGEBRAIC(:,42) = (ALGEBRAIC(:,33) - ALGEBRAIC(:,41))./CONSTANTS(:,42);
RATES(:,10) = (ALGEBRAIC(:,34) - ALGEBRAIC(:,42)) - ALGEBRAIC(:,39);
ALGEBRAIC(:,43) = (ALGEBRAIC(:,41) - ALGEBRAIC(:,15))./CONSTANTS(:,49);
RATES(:,12) = ALGEBRAIC(:,42) - ALGEBRAIC(:,43);
ALGEBRAIC(:,44) = CONSTANTS(:,51).*(STATES(:,13) - CONSTANTS(:,50));
ALGEBRAIC(:,45) = (ALGEBRAIC(:,31) - ALGEBRAIC(:,44))./CONSTANTS(:,36);
RATES(:,9) = (ALGEBRAIC(:,32) - ALGEBRAIC(:,45)) - ALGEBRAIC(:,37);
ALGEBRAIC(:,46) = (ALGEBRAIC(:,44) - ALGEBRAIC(:,15))./CONSTANTS(:,52);
RATES(:,13) = ALGEBRAIC(:,45) - ALGEBRAIC(:,46);
ALGEBRAIC(:,47) = CONSTANTS(:,61).*(STATES(:,14) - CONSTANTS(:,53));
ALGEBRAIC(:,55) = (ALGEBRAIC(:,22) - ALGEBRAIC(:,47))./CONSTANTS(:,69);
RATES(:,7) = (((ALGEBRAIC(:,25) - ALGEBRAIC(:,55)) - ALGEBRAIC(:,29)) - ALGEBRAIC(:,38)) - ALGEBRAIC(:,34);
ALGEBRAIC(:,48) = CONSTANTS(:,62).*(STATES(:,15) - CONSTANTS(:,54));
ALGEBRAIC(:,56) = (ALGEBRAIC(:,47) - ALGEBRAIC(:,48))./CONSTANTS(:,70);
ALGEBRAIC(:,63) = CONSTANTS(:,79).*(STATES(:,22) - CONSTANTS(:,78));
ALGEBRAIC(:,64) = (ALGEBRAIC(:,47) - ALGEBRAIC(:,63))./CONSTANTS(:,77);
RATES(:,14) = (ALGEBRAIC(:,55) - ALGEBRAIC(:,56)) - ALGEBRAIC(:,64);
ALGEBRAIC(:,65) = CONSTANTS(:,82).*(STATES(:,23) - CONSTANTS(:,81));
ALGEBRAIC(:,66) = (ALGEBRAIC(:,63) - ALGEBRAIC(:,65))./CONSTANTS(:,80);
RATES(:,22) = ALGEBRAIC(:,64) - ALGEBRAIC(:,66);
ALGEBRAIC(:,49) = CONSTANTS(:,63).*(STATES(:,16) - CONSTANTS(:,55));
ALGEBRAIC(:,57) = (ALGEBRAIC(:,48) - ALGEBRAIC(:,49))./CONSTANTS(:,71);
ALGEBRAIC(:,67) = CONSTANTS(:,86).*(STATES(:,24) - CONSTANTS(:,85));
ALGEBRAIC(:,68) = (ALGEBRAIC(:,48) - ALGEBRAIC(:,67))./CONSTANTS(:,84);
RATES(:,15) = (ALGEBRAIC(:,56) - ALGEBRAIC(:,57)) - ALGEBRAIC(:,68);
ALGEBRAIC(:,69) = CONSTANTS(:,89).*(STATES(:,25) - CONSTANTS(:,88));
ALGEBRAIC(:,70) = (ALGEBRAIC(:,67) - ALGEBRAIC(:,69))./CONSTANTS(:,87);
RATES(:,24) = ALGEBRAIC(:,68) - ALGEBRAIC(:,70);
ALGEBRAIC(:,50) = CONSTANTS(:,64).*(STATES(:,17) - CONSTANTS(:,56));
ALGEBRAIC(:,58) = (ALGEBRAIC(:,49) - ALGEBRAIC(:,50))./CONSTANTS(:,72);
ALGEBRAIC(:,71) = CONSTANTS(:,93).*(STATES(:,26) - CONSTANTS(:,92));
ALGEBRAIC(:,72) = (ALGEBRAIC(:,49) - ALGEBRAIC(:,71))./CONSTANTS(:,91);
RATES(:,16) = (ALGEBRAIC(:,57) - ALGEBRAIC(:,58)) - ALGEBRAIC(:,72);
ALGEBRAIC(:,51) = CONSTANTS(:,65).*(STATES(:,18) - CONSTANTS(:,57));
ALGEBRAIC(:,59) = (ALGEBRAIC(:,50) - ALGEBRAIC(:,51))./CONSTANTS(:,73);
ALGEBRAIC(:,73) = CONSTANTS(:,97).*(STATES(:,27) - CONSTANTS(:,96));
ALGEBRAIC(:,74) = (ALGEBRAIC(:,50) - ALGEBRAIC(:,73))./CONSTANTS(:,95);
RATES(:,17) = (ALGEBRAIC(:,58) - ALGEBRAIC(:,59)) - ALGEBRAIC(:,74);
ALGEBRAIC(:,52) = CONSTANTS(:,66).*(STATES(:,19) - CONSTANTS(:,58));
ALGEBRAIC(:,60) = (ALGEBRAIC(:,51) - ALGEBRAIC(:,52))./CONSTANTS(:,74);
ALGEBRAIC(:,75) = CONSTANTS(:,101).*(STATES(:,28) - CONSTANTS(:,100));
ALGEBRAIC(:,76) = (ALGEBRAIC(:,51) - ALGEBRAIC(:,75))./CONSTANTS(:,99);
RATES(:,18) = (ALGEBRAIC(:,59) - ALGEBRAIC(:,60)) - ALGEBRAIC(:,76);
ALGEBRAIC(:,77) = CONSTANTS(:,104).*(STATES(:,29) - CONSTANTS(:,103));
ALGEBRAIC(:,78) = (ALGEBRAIC(:,75) - ALGEBRAIC(:,77))./CONSTANTS(:,102);
RATES(:,28) = ALGEBRAIC(:,76) - ALGEBRAIC(:,78);
ALGEBRAIC(:,53) = CONSTANTS(:,67).*(STATES(:,20) - CONSTANTS(:,59));
ALGEBRAIC(:,61) = (ALGEBRAIC(:,52) - ALGEBRAIC(:,53))./CONSTANTS(:,75);
ALGEBRAIC(:,79) = CONSTANTS(:,108).*(STATES(:,30) - CONSTANTS(:,107));
ALGEBRAIC(:,80) = (ALGEBRAIC(:,52) - ALGEBRAIC(:,79))./CONSTANTS(:,106);
RATES(:,19) = (ALGEBRAIC(:,60) - ALGEBRAIC(:,61)) - ALGEBRAIC(:,80);
ALGEBRAIC(:,81) = CONSTANTS(:,111).*(STATES(:,31) - CONSTANTS(:,110));
ALGEBRAIC(:,82) = (ALGEBRAIC(:,79) - ALGEBRAIC(:,81))./CONSTANTS(:,109);
RATES(:,30) = ALGEBRAIC(:,80) - ALGEBRAIC(:,82);
ALGEBRAIC(:,54) = CONSTANTS(:,68).*(STATES(:,21) - CONSTANTS(:,60));
ALGEBRAIC(:,62) = (ALGEBRAIC(:,53) - ALGEBRAIC(:,54))./CONSTANTS(:,76);
ALGEBRAIC(:,92) = CONSTANTS(:,137).*(STATES(:,36) - CONSTANTS(:,136));
ALGEBRAIC(:,93) = (ALGEBRAIC(:,53) - ALGEBRAIC(:,92))./CONSTANTS(:,113);
RATES(:,20) = (ALGEBRAIC(:,61) - ALGEBRAIC(:,62)) - ALGEBRAIC(:,93);
ALGEBRAIC(:,87) = CONSTANTS(:,127).*(STATES(:,34) - CONSTANTS(:,126));
ALGEBRAIC(:,89) = (ALGEBRAIC(:,73) - ALGEBRAIC(:,87))./CONSTANTS(:,125);
ALGEBRAIC(:,90) = CONSTANTS(:,132).*(STATES(:,35) - CONSTANTS(:,131));
ALGEBRAIC(:,91) = (ALGEBRAIC(:,73) - ALGEBRAIC(:,90))./CONSTANTS(:,130);
ALGEBRAIC(:,94) = (ALGEBRAIC(:,73) - ALGEBRAIC(:,92))./CONSTANTS(:,135);
RATES(:,27) = ((ALGEBRAIC(:,74) - ALGEBRAIC(:,89)) - ALGEBRAIC(:,91)) - ALGEBRAIC(:,94);
ALGEBRAIC(:,83) = CONSTANTS(:,116).*(STATES(:,32) - CONSTANTS(:,115));
ALGEBRAIC(:,84) = (ALGEBRAIC(:,71) - ALGEBRAIC(:,83))./CONSTANTS(:,114);
ALGEBRAIC(:,95) = CONSTANTS(:,141).*(STATES(:,37) - CONSTANTS(:,140));
ALGEBRAIC(:,96) = (ALGEBRAIC(:,83) - ALGEBRAIC(:,95))./CONSTANTS(:,118);
RATES(:,32) = ALGEBRAIC(:,84) - ALGEBRAIC(:,96);
ALGEBRAIC(:,85) = CONSTANTS(:,121).*(STATES(:,33) - CONSTANTS(:,120));
ALGEBRAIC(:,86) = (ALGEBRAIC(:,71) - ALGEBRAIC(:,85))./CONSTANTS(:,119);
ALGEBRAIC(:,97) = (ALGEBRAIC(:,85) - ALGEBRAIC(:,95))./CONSTANTS(:,123);
RATES(:,33) = ALGEBRAIC(:,86) - ALGEBRAIC(:,97);
ALGEBRAIC(:,88) = (ALGEBRAIC(:,71) - ALGEBRAIC(:,87))./CONSTANTS(:,124);
ALGEBRAIC(:,98) = (ALGEBRAIC(:,87) - ALGEBRAIC(:,95))./CONSTANTS(:,129);
RATES(:,34) = (ALGEBRAIC(:,88)+ALGEBRAIC(:,89)) - ALGEBRAIC(:,98);
ALGEBRAIC(:,99) = (ALGEBRAIC(:,90) - ALGEBRAIC(:,95))./CONSTANTS(:,134);
RATES(:,35) = ALGEBRAIC(:,91) - ALGEBRAIC(:,99);
ALGEBRAIC(:,100) = (ALGEBRAIC(:,92) - ALGEBRAIC(:,95))./CONSTANTS(:,139);
RATES(:,36) = (ALGEBRAIC(:,94)+ALGEBRAIC(:,93)) - ALGEBRAIC(:,100);
ALGEBRAIC(:,101) = CONSTANTS(:,146).*(STATES(:,38) - CONSTANTS(:,145));
ALGEBRAIC(:,102) = (ALGEBRAIC(:,95) - ALGEBRAIC(:,101))./CONSTANTS(:,143);
RATES(:,37) = (ALGEBRAIC(:,96)+ALGEBRAIC(:,97)+ALGEBRAIC(:,98)+ALGEBRAIC(:,99)+ALGEBRAIC(:,100)) - ALGEBRAIC(:,102);
ALGEBRAIC(:,103) = (ALGEBRAIC(:,71) - ALGEBRAIC(:,101))./CONSTANTS(:,144);
RATES(:,26) = (((ALGEBRAIC(:,72) - ALGEBRAIC(:,103)) - ALGEBRAIC(:,84)) - ALGEBRAIC(:,86)) - ALGEBRAIC(:,88);
ALGEBRAIC(:,104) = CONSTANTS(:,155).*(STATES(:,39) - CONSTANTS(:,149));
ALGEBRAIC(:,105) = (ALGEBRAIC(:,65) - ALGEBRAIC(:,104))./CONSTANTS(:,83);
RATES(:,23) = ALGEBRAIC(:,66) - ALGEBRAIC(:,105);
ALGEBRAIC(:,106) = CONSTANTS(:,156).*(STATES(:,40) - CONSTANTS(:,150));
ALGEBRAIC(:,107) = (ALGEBRAIC(:,69) - ALGEBRAIC(:,106))./CONSTANTS(:,90);
RATES(:,25) = ALGEBRAIC(:,70) - ALGEBRAIC(:,107);
ALGEBRAIC(:,108) = CONSTANTS(:,157).*(STATES(:,41) - CONSTANTS(:,151));
ALGEBRAIC(:,109) = (ALGEBRAIC(:,101) - ALGEBRAIC(:,108))./CONSTANTS(:,148);
RATES(:,38) = (ALGEBRAIC(:,103)+ALGEBRAIC(:,102)) - ALGEBRAIC(:,109);
ALGEBRAIC(:,110) = CONSTANTS(:,158).*(STATES(:,42) - CONSTANTS(:,152));
ALGEBRAIC(:,111) = (ALGEBRAIC(:,77) - ALGEBRAIC(:,110))./CONSTANTS(:,105);
RATES(:,29) = ALGEBRAIC(:,78) - ALGEBRAIC(:,111);
ALGEBRAIC(:,112) = CONSTANTS(:,159).*(STATES(:,43) - CONSTANTS(:,153));
ALGEBRAIC(:,113) = (ALGEBRAIC(:,81) - ALGEBRAIC(:,112))./CONSTANTS(:,112);
RATES(:,31) = ALGEBRAIC(:,82) - ALGEBRAIC(:,113);
ALGEBRAIC(:,115) = (ALGEBRAIC(:,104) - ALGEBRAIC(:,15))./CONSTANTS(:,161);
RATES(:,4) = (ALGEBRAIC(:,40)+ALGEBRAIC(:,43)+ALGEBRAIC(:,46)+ALGEBRAIC(:,115)) - ALGEBRAIC(:,17);
ALGEBRAIC(:,116) = (ALGEBRAIC(:,106) - ALGEBRAIC(:,104))./CONSTANTS(:,162);
RATES(:,39) = (ALGEBRAIC(:,116)+ALGEBRAIC(:,105)) - ALGEBRAIC(:,115);
ALGEBRAIC(:,117) = (ALGEBRAIC(:,108) - ALGEBRAIC(:,106))./CONSTANTS(:,163);
RATES(:,40) = (ALGEBRAIC(:,117)+ALGEBRAIC(:,107)) - ALGEBRAIC(:,116);
ALGEBRAIC(:,118) = (ALGEBRAIC(:,110) - ALGEBRAIC(:,108))./CONSTANTS(:,164);
RATES(:,41) = (ALGEBRAIC(:,118)+ALGEBRAIC(:,109)) - ALGEBRAIC(:,117);
ALGEBRAIC(:,119) = (ALGEBRAIC(:,112) - ALGEBRAIC(:,110))./CONSTANTS(:,165);
RATES(:,42) = (ALGEBRAIC(:,119)+ALGEBRAIC(:,111)) - ALGEBRAIC(:,118);
ALGEBRAIC(:,114) = CONSTANTS(:,160).*(STATES(:,44) - CONSTANTS(:,154));
ALGEBRAIC(:,120) = (ALGEBRAIC(:,114) - ALGEBRAIC(:,112))./CONSTANTS(:,166);
RATES(:,43) = (ALGEBRAIC(:,120)+ALGEBRAIC(:,113)) - ALGEBRAIC(:,119);
ALGEBRAIC(:,121) = CONSTANTS(:,169).*(STATES(:,45) - CONSTANTS(:,168));
ALGEBRAIC(:,122) = (ALGEBRAIC(:,54) - ALGEBRAIC(:,121))./CONSTANTS(:,167);
ALGEBRAIC(:,123) = (ALGEBRAIC(:,121) - ALGEBRAIC(:,114))./CONSTANTS(:,170);
RATES(:,45) = ALGEBRAIC(:,122) - ALGEBRAIC(:,123);
ALGEBRAIC(:,124) = CONSTANTS(:,173).*(STATES(:,46) - CONSTANTS(:,172));
ALGEBRAIC(:,125) = (ALGEBRAIC(:,54) - ALGEBRAIC(:,124))./CONSTANTS(:,171);
RATES(:,21) = (ALGEBRAIC(:,62) - ALGEBRAIC(:,122)) - ALGEBRAIC(:,125);
ALGEBRAIC(:,126) = (ALGEBRAIC(:,124) - ALGEBRAIC(:,114))./CONSTANTS(:,174);
RATES(:,44) = (ALGEBRAIC(:,123)+ALGEBRAIC(:,126)) - ALGEBRAIC(:,120);
RATES(:,46) = ALGEBRAIC(:,125) - ALGEBRAIC(:,126);
RATES = RATES';
end
% Calculate algebraic variables
function ALGEBRAIC = computeAlgebraic(ALGEBRAIC, CONSTANTS, STATES, VOI)
statesSize = size(STATES);
statesColumnCount = statesSize(2);
if ( statesColumnCount == 1)
STATES = STATES';
utilOnes = 1;
else
statesRowCount = statesSize(1);
utilOnes = ones(statesRowCount, 1);
end
ALGEBRAIC(:,3) = VOI./CONSTANTS(:,4) - floor(VOI./CONSTANTS(:,4));
ALGEBRAIC(:,5) = piecewise({ALGEBRAIC(:,3)<0.400000, (( (CONSTANTS(:,8) - CONSTANTS(:,9)).*ALGEBRAIC(:,3))./CONSTANTS(:,6)).*exp( 0.500000.*(1.00000 - power(ALGEBRAIC(:,3)./CONSTANTS(:,6), 2.00000)))+CONSTANTS(:,9) , ALGEBRAIC(:,3)<0.600000, (( (CONSTANTS(:,8) - CONSTANTS(:,9)).*0.400000)./CONSTANTS(:,6)).*exp( 0.500000.*(1.00000 - power(0.400000./CONSTANTS(:,6), 2.00000)))+CONSTANTS(:,9) }, CONSTANTS(:,9));
ALGEBRAIC(:,7) = ALGEBRAIC(:,5).*(STATES(:,1) - CONSTANTS(:,7));
ALGEBRAIC(:,22) = CONSTANTS(:,28).*(STATES(:,7) - CONSTANTS(:,27));
ALGEBRAIC(:,25) = piecewise({ALGEBRAIC(:,7)>ALGEBRAIC(:,22), (ALGEBRAIC(:,7) - ALGEBRAIC(:,22))./CONSTANTS(:,17) }, 0.00000);
ALGEBRAIC(:,13) = CONSTANTS(:,14).*(STATES(:,3) - CONSTANTS(:,13));
ALGEBRAIC(:,19) = piecewise({ALGEBRAIC(:,13)>ALGEBRAIC(:,7), (ALGEBRAIC(:,13) - ALGEBRAIC(:,7))./CONSTANTS(:,20) }, 0.00000);
ALGEBRAIC(:,9) = piecewise({ALGEBRAIC(:,3)<0.400000, (( (CONSTANTS(:,11) - CONSTANTS(:,12)).*ALGEBRAIC(:,3))./CONSTANTS(:,6)).*exp( 0.500000.*(1.00000 - power(ALGEBRAIC(:,3)./CONSTANTS(:,6), 2.00000)))+CONSTANTS(:,12) , ALGEBRAIC(:,3)<0.600000, (( (CONSTANTS(:,11) - CONSTANTS(:,12)).*0.400000)./CONSTANTS(:,6)).*exp( 0.500000.*(1.00000 - power(0.400000./CONSTANTS(:,6), 2.00000)))+CONSTANTS(:,12) }, CONSTANTS(:,12));
ALGEBRAIC(:,11) = ALGEBRAIC(:,9).*(STATES(:,2) - CONSTANTS(:,10));
ALGEBRAIC(:,21) = CONSTANTS(:,22).*(STATES(:,5) - CONSTANTS(:,21));
ALGEBRAIC(:,24) = piecewise({ALGEBRAIC(:,11)>ALGEBRAIC(:,21), (ALGEBRAIC(:,11) - ALGEBRAIC(:,21))./CONSTANTS(:,18) }, 0.00000);
ALGEBRAIC(:,15) = CONSTANTS(:,16).*(STATES(:,4) - CONSTANTS(:,15));
ALGEBRAIC(:,17) = piecewise({ALGEBRAIC(:,15)>ALGEBRAIC(:,11), (ALGEBRAIC(:,15) - ALGEBRAIC(:,11))./CONSTANTS(:,19) }, 0.00000);
ALGEBRAIC(:,26) = CONSTANTS(:,25).*(STATES(:,6) - CONSTANTS(:,24));
ALGEBRAIC(:,28) = (ALGEBRAIC(:,21) - ALGEBRAIC(:,26))./CONSTANTS(:,23);
ALGEBRAIC(:,30) = (ALGEBRAIC(:,26) - ALGEBRAIC(:,13))./CONSTANTS(:,26);
ALGEBRAIC(:,27) = CONSTANTS(:,31).*(STATES(:,8) - CONSTANTS(:,30));
ALGEBRAIC(:,29) = (ALGEBRAIC(:,22) - ALGEBRAIC(:,27))./CONSTANTS(:,29);
ALGEBRAIC(:,31) = CONSTANTS(:,35).*(STATES(:,9) - CONSTANTS(:,34));
ALGEBRAIC(:,32) = (ALGEBRAIC(:,27) - ALGEBRAIC(:,31))./CONSTANTS(:,32);
ALGEBRAIC(:,35) = CONSTANTS(:,45).*(STATES(:,11) - CONSTANTS(:,44));
ALGEBRAIC(:,36) = (ALGEBRAIC(:,27) - ALGEBRAIC(:,35))./CONSTANTS(:,33);
ALGEBRAIC(:,37) = (ALGEBRAIC(:,31) - ALGEBRAIC(:,35))./CONSTANTS(:,37);
ALGEBRAIC(:,38) = (ALGEBRAIC(:,22) - ALGEBRAIC(:,35))./CONSTANTS(:,38);
ALGEBRAIC(:,33) = CONSTANTS(:,41).*(STATES(:,10) - CONSTANTS(:,40));
ALGEBRAIC(:,39) = (ALGEBRAIC(:,33) - ALGEBRAIC(:,35))./CONSTANTS(:,43);
ALGEBRAIC(:,40) = (ALGEBRAIC(:,35) - ALGEBRAIC(:,15))./CONSTANTS(:,46);
ALGEBRAIC(:,34) = (ALGEBRAIC(:,22) - ALGEBRAIC(:,33))./CONSTANTS(:,39);
ALGEBRAIC(:,41) = CONSTANTS(:,48).*(STATES(:,12) - CONSTANTS(:,47));
ALGEBRAIC(:,42) = (ALGEBRAIC(:,33) - ALGEBRAIC(:,41))./CONSTANTS(:,42);
ALGEBRAIC(:,43) = (ALGEBRAIC(:,41) - ALGEBRAIC(:,15))./CONSTANTS(:,49);
ALGEBRAIC(:,44) = CONSTANTS(:,51).*(STATES(:,13) - CONSTANTS(:,50));
ALGEBRAIC(:,45) = (ALGEBRAIC(:,31) - ALGEBRAIC(:,44))./CONSTANTS(:,36);
ALGEBRAIC(:,46) = (ALGEBRAIC(:,44) - ALGEBRAIC(:,15))./CONSTANTS(:,52);
ALGEBRAIC(:,47) = CONSTANTS(:,61).*(STATES(:,14) - CONSTANTS(:,53));
ALGEBRAIC(:,55) = (ALGEBRAIC(:,22) - ALGEBRAIC(:,47))./CONSTANTS(:,69);
ALGEBRAIC(:,48) = CONSTANTS(:,62).*(STATES(:,15) - CONSTANTS(:,54));
ALGEBRAIC(:,56) = (ALGEBRAIC(:,47) - ALGEBRAIC(:,48))./CONSTANTS(:,70);
ALGEBRAIC(:,63) = CONSTANTS(:,79).*(STATES(:,22) - CONSTANTS(:,78));
ALGEBRAIC(:,64) = (ALGEBRAIC(:,47) - ALGEBRAIC(:,63))./CONSTANTS(:,77);
ALGEBRAIC(:,65) = CONSTANTS(:,82).*(STATES(:,23) - CONSTANTS(:,81));
ALGEBRAIC(:,66) = (ALGEBRAIC(:,63) - ALGEBRAIC(:,65))./CONSTANTS(:,80);
ALGEBRAIC(:,49) = CONSTANTS(:,63).*(STATES(:,16) - CONSTANTS(:,55));
ALGEBRAIC(:,57) = (ALGEBRAIC(:,48) - ALGEBRAIC(:,49))./CONSTANTS(:,71);
ALGEBRAIC(:,67) = CONSTANTS(:,86).*(STATES(:,24) - CONSTANTS(:,85));
ALGEBRAIC(:,68) = (ALGEBRAIC(:,48) - ALGEBRAIC(:,67))./CONSTANTS(:,84);
ALGEBRAIC(:,69) = CONSTANTS(:,89).*(STATES(:,25) - CONSTANTS(:,88));
ALGEBRAIC(:,70) = (ALGEBRAIC(:,67) - ALGEBRAIC(:,69))./CONSTANTS(:,87);
ALGEBRAIC(:,50) = CONSTANTS(:,64).*(STATES(:,17) - CONSTANTS(:,56));
ALGEBRAIC(:,58) = (ALGEBRAIC(:,49) - ALGEBRAIC(:,50))./CONSTANTS(:,72);
ALGEBRAIC(:,71) = CONSTANTS(:,93).*(STATES(:,26) - CONSTANTS(:,92));
ALGEBRAIC(:,72) = (ALGEBRAIC(:,49) - ALGEBRAIC(:,71))./CONSTANTS(:,91);
ALGEBRAIC(:,51) = CONSTANTS(:,65).*(STATES(:,18) - CONSTANTS(:,57));
ALGEBRAIC(:,59) = (ALGEBRAIC(:,50) - ALGEBRAIC(:,51))./CONSTANTS(:,73);
ALGEBRAIC(:,73) = CONSTANTS(:,97).*(STATES(:,27) - CONSTANTS(:,96));
ALGEBRAIC(:,74) = (ALGEBRAIC(:,50) - ALGEBRAIC(:,73))./CONSTANTS(:,95);
ALGEBRAIC(:,52) = CONSTANTS(:,66).*(STATES(:,19) - CONSTANTS(:,58));
ALGEBRAIC(:,60) = (ALGEBRAIC(:,51) - ALGEBRAIC(:,52))./CONSTANTS(:,74);
ALGEBRAIC(:,75) = CONSTANTS(:,101).*(STATES(:,28) - CONSTANTS(:,100));
ALGEBRAIC(:,76) = (ALGEBRAIC(:,51) - ALGEBRAIC(:,75))./CONSTANTS(:,99);
ALGEBRAIC(:,77) = CONSTANTS(:,104).*(STATES(:,29) - CONSTANTS(:,103));
ALGEBRAIC(:,78) = (ALGEBRAIC(:,75) - ALGEBRAIC(:,77))./CONSTANTS(:,102);
ALGEBRAIC(:,53) = CONSTANTS(:,67).*(STATES(:,20) - CONSTANTS(:,59));
ALGEBRAIC(:,61) = (ALGEBRAIC(:,52) - ALGEBRAIC(:,53))./CONSTANTS(:,75);
ALGEBRAIC(:,79) = CONSTANTS(:,108).*(STATES(:,30) - CONSTANTS(:,107));
ALGEBRAIC(:,80) = (ALGEBRAIC(:,52) - ALGEBRAIC(:,79))./CONSTANTS(:,106);
ALGEBRAIC(:,81) = CONSTANTS(:,111).*(STATES(:,31) - CONSTANTS(:,110));
ALGEBRAIC(:,82) = (ALGEBRAIC(:,79) - ALGEBRAIC(:,81))./CONSTANTS(:,109);
ALGEBRAIC(:,54) = CONSTANTS(:,68).*(STATES(:,21) - CONSTANTS(:,60));
ALGEBRAIC(:,62) = (ALGEBRAIC(:,53) - ALGEBRAIC(:,54))./CONSTANTS(:,76);
ALGEBRAIC(:,92) = CONSTANTS(:,137).*(STATES(:,36) - CONSTANTS(:,136));
ALGEBRAIC(:,93) = (ALGEBRAIC(:,53) - ALGEBRAIC(:,92))./CONSTANTS(:,113);
ALGEBRAIC(:,87) = CONSTANTS(:,127).*(STATES(:,34) - CONSTANTS(:,126));
ALGEBRAIC(:,89) = (ALGEBRAIC(:,73) - ALGEBRAIC(:,87))./CONSTANTS(:,125);
ALGEBRAIC(:,90) = CONSTANTS(:,132).*(STATES(:,35) - CONSTANTS(:,131));
ALGEBRAIC(:,91) = (ALGEBRAIC(:,73) - ALGEBRAIC(:,90))./CONSTANTS(:,130);
ALGEBRAIC(:,94) = (ALGEBRAIC(:,73) - ALGEBRAIC(:,92))./CONSTANTS(:,135);
ALGEBRAIC(:,83) = CONSTANTS(:,116).*(STATES(:,32) - CONSTANTS(:,115));
ALGEBRAIC(:,84) = (ALGEBRAIC(:,71) - ALGEBRAIC(:,83))./CONSTANTS(:,114);
ALGEBRAIC(:,95) = CONSTANTS(:,141).*(STATES(:,37) - CONSTANTS(:,140));
ALGEBRAIC(:,96) = (ALGEBRAIC(:,83) - ALGEBRAIC(:,95))./CONSTANTS(:,118);
ALGEBRAIC(:,85) = CONSTANTS(:,121).*(STATES(:,33) - CONSTANTS(:,120));
ALGEBRAIC(:,86) = (ALGEBRAIC(:,71) - ALGEBRAIC(:,85))./CONSTANTS(:,119);
ALGEBRAIC(:,97) = (ALGEBRAIC(:,85) - ALGEBRAIC(:,95))./CONSTANTS(:,123);
ALGEBRAIC(:,88) = (ALGEBRAIC(:,71) - ALGEBRAIC(:,87))./CONSTANTS(:,124);
ALGEBRAIC(:,98) = (ALGEBRAIC(:,87) - ALGEBRAIC(:,95))./CONSTANTS(:,129);
ALGEBRAIC(:,99) = (ALGEBRAIC(:,90) - ALGEBRAIC(:,95))./CONSTANTS(:,134);
ALGEBRAIC(:,100) = (ALGEBRAIC(:,92) - ALGEBRAIC(:,95))./CONSTANTS(:,139);
ALGEBRAIC(:,101) = CONSTANTS(:,146).*(STATES(:,38) - CONSTANTS(:,145));
ALGEBRAIC(:,102) = (ALGEBRAIC(:,95) - ALGEBRAIC(:,101))./CONSTANTS(:,143);
ALGEBRAIC(:,103) = (ALGEBRAIC(:,71) - ALGEBRAIC(:,101))./CONSTANTS(:,144);
ALGEBRAIC(:,104) = CONSTANTS(:,155).*(STATES(:,39) - CONSTANTS(:,149));
ALGEBRAIC(:,105) = (ALGEBRAIC(:,65) - ALGEBRAIC(:,104))./CONSTANTS(:,83);
ALGEBRAIC(:,106) = CONSTANTS(:,156).*(STATES(:,40) - CONSTANTS(:,150));
ALGEBRAIC(:,107) = (ALGEBRAIC(:,69) - ALGEBRAIC(:,106))./CONSTANTS(:,90);
ALGEBRAIC(:,108) = CONSTANTS(:,157).*(STATES(:,41) - CONSTANTS(:,151));
ALGEBRAIC(:,109) = (ALGEBRAIC(:,101) - ALGEBRAIC(:,108))./CONSTANTS(:,148);
ALGEBRAIC(:,110) = CONSTANTS(:,158).*(STATES(:,42) - CONSTANTS(:,152));
ALGEBRAIC(:,111) = (ALGEBRAIC(:,77) - ALGEBRAIC(:,110))./CONSTANTS(:,105);
ALGEBRAIC(:,112) = CONSTANTS(:,159).*(STATES(:,43) - CONSTANTS(:,153));
ALGEBRAIC(:,113) = (ALGEBRAIC(:,81) - ALGEBRAIC(:,112))./CONSTANTS(:,112);
ALGEBRAIC(:,115) = (ALGEBRAIC(:,104) - ALGEBRAIC(:,15))./CONSTANTS(:,161);
ALGEBRAIC(:,116) = (ALGEBRAIC(:,106) - ALGEBRAIC(:,104))./CONSTANTS(:,162);
ALGEBRAIC(:,117) = (ALGEBRAIC(:,108) - ALGEBRAIC(:,106))./CONSTANTS(:,163);
ALGEBRAIC(:,118) = (ALGEBRAIC(:,110) - ALGEBRAIC(:,108))./CONSTANTS(:,164);
ALGEBRAIC(:,119) = (ALGEBRAIC(:,112) - ALGEBRAIC(:,110))./CONSTANTS(:,165);
ALGEBRAIC(:,114) = CONSTANTS(:,160).*(STATES(:,44) - CONSTANTS(:,154));
ALGEBRAIC(:,120) = (ALGEBRAIC(:,114) - ALGEBRAIC(:,112))./CONSTANTS(:,166);
ALGEBRAIC(:,121) = CONSTANTS(:,169).*(STATES(:,45) - CONSTANTS(:,168));
ALGEBRAIC(:,122) = (ALGEBRAIC(:,54) - ALGEBRAIC(:,121))./CONSTANTS(:,167);
ALGEBRAIC(:,123) = (ALGEBRAIC(:,121) - ALGEBRAIC(:,114))./CONSTANTS(:,170);
ALGEBRAIC(:,124) = CONSTANTS(:,173).*(STATES(:,46) - CONSTANTS(:,172));
ALGEBRAIC(:,125) = (ALGEBRAIC(:,54) - ALGEBRAIC(:,124))./CONSTANTS(:,171);
ALGEBRAIC(:,126) = (ALGEBRAIC(:,124) - ALGEBRAIC(:,114))./CONSTANTS(:,174);
ALGEBRAIC(:,1) = piecewise({VOI>100.000&VOI<101.000, 1.00000 }, 0.00000);
ALGEBRAIC(:,2) = (VOI./CONSTANTS(:,4) - CONSTANTS(:,5)) - floor((VOI - CONSTANTS(:,5).*CONSTANTS(:,4))./CONSTANTS(:,4));
ALGEBRAIC(:,4) = STATES(:,4)+STATES(:,2)+STATES(:,3)+STATES(:,1);
ALGEBRAIC(:,6) = STATES(:,6)+STATES(:,5);
ALGEBRAIC(:,8) = STATES(:,8)+STATES(:,9)+STATES(:,10)+STATES(:,11);
ALGEBRAIC(:,10) = STATES(:,22)+STATES(:,23)+STATES(:,24)+STATES(:,25);
ALGEBRAIC(:,12) = STATES(:,7)+STATES(:,14)+STATES(:,15)+STATES(:,16)+STATES(:,17)+STATES(:,18)+STATES(:,19)+STATES(:,20)+STATES(:,21);
ALGEBRAIC(:,14) = STATES(:,28)+STATES(:,29)+STATES(:,30)+STATES(:,31);
ALGEBRAIC(:,16) = STATES(:,26)+STATES(:,27)+STATES(:,32)+STATES(:,33)+STATES(:,34)+STATES(:,35)+STATES(:,36)+STATES(:,37)+STATES(:,38);
ALGEBRAIC(:,18) = STATES(:,39)+STATES(:,40)+STATES(:,41)+STATES(:,42)+STATES(:,43)+STATES(:,44);
ALGEBRAIC(:,20) = STATES(:,12)+STATES(:,13)+STATES(:,45)+STATES(:,46);
ALGEBRAIC(:,23) = ALGEBRAIC(:,4)+ALGEBRAIC(:,6)+(ALGEBRAIC(:,8))+ALGEBRAIC(:,10)+ALGEBRAIC(:,12)+ALGEBRAIC(:,14)+ALGEBRAIC(:,16)+ALGEBRAIC(:,18)+ALGEBRAIC(:,20);
end
% Compute result of a piecewise function
function x = piecewise(cases, default)
set = [0];
for i = 1:2:length(cases)
if (length(cases{i+1}) == 1)
x(cases{i} & ~set,:) = cases{i+1};
else
x(cases{i} & ~set,:) = cases{i+1}(cases{i} & ~set);
end
set = set | cases{i};
if(set), break, end
end
if (length(default) == 1)
x(~set,:) = default;
else
x(~set,:) = default(~set);
end
end
% Pad out or shorten strings to a set length
function strout = strpad(strin)
req_length = 160;
insize = size(strin,2);
if insize > req_length
strout = strin(1:req_length);
else
strout = [strin, blanks(req_length - insize)];
end
end
