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 =152; end % There are a total of 56 entries in each of the rate and state variable arrays. % There are a total of 150 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_CONSTANTS(:,1) = strpad('kappa_1a in component BG_parameters (fmol_per_sec)'); LEGEND_CONSTANTS(:,2) = strpad('kappa_1b in component BG_parameters (fmol_per_sec)'); LEGEND_CONSTANTS(:,3) = strpad('kappa_2a in component BG_parameters (fmol_per_sec)'); LEGEND_CONSTANTS(:,4) = strpad('kappa_2b in component BG_parameters (fmol_per_sec)'); LEGEND_CONSTANTS(:,5) = strpad('kappa_3a in component BG_parameters (fmol_per_sec)'); LEGEND_CONSTANTS(:,6) = strpad('kappa_3b in component BG_parameters (fmol_per_sec)'); LEGEND_CONSTANTS(:,7) = strpad('kappa_4a in component BG_parameters (fmol_per_sec)'); LEGEND_CONSTANTS(:,8) = strpad('kappa_4b in component BG_parameters (fmol_per_sec)'); LEGEND_CONSTANTS(:,9) = strpad('kappa_5 in component BG_parameters (fmol_per_sec)'); LEGEND_CONSTANTS(:,10) = strpad('kappa_6 in component BG_parameters (fmol_per_sec)'); LEGEND_CONSTANTS(:,11) = strpad('kappa_7 in component BG_parameters (fmol_per_sec)'); LEGEND_CONSTANTS(:,12) = strpad('kappa_GiAC in component BG_parameters (fmol_per_sec)'); LEGEND_CONSTANTS(:,13) = strpad('kappa_Rswitch_B1 in component BG_parameters (fmol_per_sec)'); LEGEND_CONSTANTS(:,14) = strpad('kappa_LRswitch_B1 in component BG_parameters (fmol_per_sec)'); LEGEND_CONSTANTS(:,15) = strpad('kappa_C_B1 in component BG_parameters (fmol_per_sec)'); LEGEND_CONSTANTS(:,16) = strpad('kappa_R_B1 in component BG_parameters (fmol_per_sec)'); LEGEND_CONSTANTS(:,17) = strpad('kappa_L_B1 in component BG_parameters (fmol_per_sec)'); LEGEND_CONSTANTS(:,18) = strpad('kappa_Act1_Gs in component BG_parameters (fmol_per_sec)'); LEGEND_CONSTANTS(:,19) = strpad('kappa_Act2_Gs in component BG_parameters (fmol_per_sec)'); LEGEND_CONSTANTS(:,20) = strpad('kappa_Hyd_Gs in component BG_parameters (fmol_per_sec)'); LEGEND_CONSTANTS(:,21) = strpad('kappa_Reassoc_Gs in component BG_parameters (fmol_per_sec)'); LEGEND_CONSTANTS(:,22) = strpad('kappa_InternR_B1 in component BG_parameters (fmol_per_sec)'); LEGEND_CONSTANTS(:,23) = strpad('kappa_InternLR_B1 in component BG_parameters (fmol_per_sec)'); LEGEND_CONSTANTS(:,24) = strpad('kappa_Rswitch_M2 in component BG_parameters (fmol_per_sec)'); LEGEND_CONSTANTS(:,25) = strpad('kappa_LRswitch_M2 in component BG_parameters (fmol_per_sec)'); LEGEND_CONSTANTS(:,26) = strpad('kappa_C_M2 in component BG_parameters (fmol_per_sec)'); LEGEND_CONSTANTS(:,27) = strpad('kappa_R_M2 in component BG_parameters (fmol_per_sec)'); LEGEND_CONSTANTS(:,28) = strpad('kappa_L_M2 in component BG_parameters (fmol_per_sec)'); LEGEND_CONSTANTS(:,29) = strpad('kappa_Act1_Gi in component BG_parameters (fmol_per_sec)'); LEGEND_CONSTANTS(:,30) = strpad('kappa_Act2_Gi in component BG_parameters (fmol_per_sec)'); LEGEND_CONSTANTS(:,31) = strpad('kappa_Hyd_Gi in component BG_parameters (fmol_per_sec)'); LEGEND_CONSTANTS(:,32) = strpad('kappa_Reassoc_Gi in component BG_parameters (fmol_per_sec)'); LEGEND_CONSTANTS(:,33) = strpad('kappa_InternR_M2 in component BG_parameters (fmol_per_sec)'); LEGEND_CONSTANTS(:,34) = strpad('kappa_InternLR_M2 in component BG_parameters (fmol_per_sec)'); LEGEND_CONSTANTS(:,35) = strpad('K_ATP in component BG_parameters (per_fmol)'); LEGEND_CONSTANTS(:,36) = strpad('K_cAMP in component BG_parameters (per_fmol)'); LEGEND_CONSTANTS(:,37) = strpad('K_AC in component BG_parameters (per_fmol)'); LEGEND_CONSTANTS(:,38) = strpad('K_AC_ATP in component BG_parameters (per_fmol)'); LEGEND_CONSTANTS(:,39) = strpad('K_Gsa_GTP_AC in component BG_parameters (per_fmol)'); LEGEND_CONSTANTS(:,40) = strpad('K_Gsa_GTP_AC_ATP in component BG_parameters (per_fmol)'); LEGEND_CONSTANTS(:,41) = strpad('K_FSK_AC in component BG_parameters (per_fmol)'); LEGEND_CONSTANTS(:,42) = strpad('K_FSK_AC_ATP in component BG_parameters (per_fmol)'); LEGEND_CONSTANTS(:,43) = strpad('K_PDE in component BG_parameters (per_fmol)'); LEGEND_CONSTANTS(:,44) = strpad('K_PDE_cAMP in component BG_parameters (per_fmol)'); LEGEND_CONSTANTS(:,45) = strpad('K_five_AMP in component BG_parameters (per_fmol)'); LEGEND_CONSTANTS(:,46) = strpad('K_IBMX in component BG_parameters (per_fmol)'); LEGEND_CONSTANTS(:,47) = strpad('K_PDEinh in component BG_parameters (per_fmol)'); LEGEND_CONSTANTS(:,48) = strpad('K_Gsa_GTP in component BG_parameters (per_fmol)'); LEGEND_CONSTANTS(:,49) = strpad('K_FSK in component BG_parameters (per_fmol)'); LEGEND_CONSTANTS(:,50) = strpad('K_Gia_GTP in component BG_parameters (per_fmol)'); LEGEND_CONSTANTS(:,51) = strpad('K_ACinh in component BG_parameters (per_fmol)'); LEGEND_CONSTANTS(:,52) = strpad('K_PPi in component BG_parameters (per_fmol)'); LEGEND_CONSTANTS(:,53) = strpad('K_RB1_inactive in component BG_parameters (per_fmol)'); LEGEND_CONSTANTS(:,54) = strpad('K_L_RB1_inactive in component BG_parameters (per_fmol)'); LEGEND_CONSTANTS(:,55) = strpad('K_LB1 in component BG_parameters (per_fmol)'); LEGEND_CONSTANTS(:,56) = strpad('K_RB1 in component BG_parameters (per_fmol)'); LEGEND_CONSTANTS(:,57) = strpad('K_Gs in component BG_parameters (per_fmol)'); LEGEND_CONSTANTS(:,58) = strpad('K_RB1_Gs in component BG_parameters (per_fmol)'); LEGEND_CONSTANTS(:,59) = strpad('K_L_RB1 in component BG_parameters (per_fmol)'); LEGEND_CONSTANTS(:,60) = strpad('K_L_RB1_Gs in component BG_parameters (per_fmol)'); LEGEND_CONSTANTS(:,61) = strpad('K_Gsbetagamma in component BG_parameters (per_fmol)'); LEGEND_CONSTANTS(:,62) = strpad('K_Gsa_GDP in component BG_parameters (per_fmol)'); LEGEND_CONSTANTS(:,63) = strpad('K_GTP in component BG_parameters (per_fmol)'); LEGEND_CONSTANTS(:,64) = strpad('K_GDP in component BG_parameters (per_fmol)'); LEGEND_CONSTANTS(:,65) = strpad('K_Pi in component BG_parameters (per_fmol)'); LEGEND_CONSTANTS(:,66) = strpad('K_RB1_tag in component BG_parameters (per_fmol)'); LEGEND_CONSTANTS(:,67) = strpad('K_L_RB1_tag in component BG_parameters (per_fmol)'); LEGEND_CONSTANTS(:,68) = strpad('K_RB1_GRKArr in component BG_parameters (per_fmol)'); LEGEND_CONSTANTS(:,69) = strpad('K_L_RB1_GRKArr in component BG_parameters (per_fmol)'); LEGEND_CONSTANTS(:,70) = strpad('K_GRKArr in component BG_parameters (per_fmol)'); LEGEND_CONSTANTS(:,71) = strpad('K_RM2_inactive in component BG_parameters (per_fmol)'); LEGEND_CONSTANTS(:,72) = strpad('K_L_RM2_inactive in component BG_parameters (per_fmol)'); LEGEND_CONSTANTS(:,73) = strpad('K_LM2 in component BG_parameters (per_fmol)'); LEGEND_CONSTANTS(:,74) = strpad('K_RM2 in component BG_parameters (per_fmol)'); LEGEND_CONSTANTS(:,75) = strpad('K_Gi in component BG_parameters (per_fmol)'); LEGEND_CONSTANTS(:,76) = strpad('K_RM2_Gi in component BG_parameters (per_fmol)'); LEGEND_CONSTANTS(:,77) = strpad('K_L_RM2 in component BG_parameters (per_fmol)'); LEGEND_CONSTANTS(:,78) = strpad('K_L_RM2_Gi in component BG_parameters (per_fmol)'); LEGEND_CONSTANTS(:,79) = strpad('K_Gibetagamma in component BG_parameters (per_fmol)'); LEGEND_CONSTANTS(:,80) = strpad('K_Gia_GDP in component BG_parameters (per_fmol)'); LEGEND_CONSTANTS(:,81) = strpad('K_RM2_tag in component BG_parameters (per_fmol)'); LEGEND_CONSTANTS(:,82) = strpad('K_L_RM2_tag in component BG_parameters (per_fmol)'); LEGEND_CONSTANTS(:,83) = strpad('K_RM2_GRKArr in component BG_parameters (per_fmol)'); LEGEND_CONSTANTS(:,84) = strpad('K_L_RM2_GRKArr in component BG_parameters (per_fmol)'); LEGEND_VOI = strpad('time in component environment (second)'); LEGEND_CONSTANTS(:,85) = strpad('vol_myo in component environment (pL)'); LEGEND_CONSTANTS(:,86) = strpad('freq in component environment (dimensionless)'); LEGEND_CONSTANTS(:,87) = strpad('stimSt1 in component environment (second)'); LEGEND_CONSTANTS(:,88) = strpad('stimDur1 in component environment (second)'); LEGEND_CONSTANTS(:,89) = strpad('tRamp1 in component environment (second)'); LEGEND_CONSTANTS(:,90) = strpad('stimMag1 in component environment (fmol)'); LEGEND_CONSTANTS(:,91) = strpad('stimHolding1 in component environment (fmol)'); LEGEND_CONSTANTS(:,149) = strpad('m1 in component environment (fmol_per_sec)'); LEGEND_CONSTANTS(:,92) = strpad('stimSt2 in component environment (second)'); LEGEND_CONSTANTS(:,93) = strpad('stimDur2 in component environment (second)'); LEGEND_CONSTANTS(:,94) = strpad('tRamp2 in component environment (second)'); LEGEND_CONSTANTS(:,95) = strpad('stimMag2 in component environment (fmol)'); LEGEND_CONSTANTS(:,96) = strpad('stimHolding2 in component environment (fmol)'); LEGEND_CONSTANTS(:,150) = strpad('m2 in component environment (fmol_per_sec)'); LEGEND_CONSTANTS(:,97) = strpad('q_ATP_init in component environment (fmol)'); LEGEND_CONSTANTS(:,98) = strpad('q_AC_init in component environment (fmol)'); LEGEND_CONSTANTS(:,99) = strpad('q_cAMP_init in component environment (fmol)'); LEGEND_CONSTANTS(:,100) = strpad('q_AC_ATP_init in component environment (fmol)'); LEGEND_CONSTANTS(:,101) = strpad('q_FSK_init in component environment (fmol)'); LEGEND_CONSTANTS(:,102) = strpad('q_FSK_AC_init in component environment (fmol)'); LEGEND_CONSTANTS(:,103) = strpad('q_FSK_AC_ATP_init in component environment (fmol)'); LEGEND_CONSTANTS(:,104) = strpad('q_Gsa_GTP_init in component environment (fmol)'); LEGEND_CONSTANTS(:,105) = strpad('q_Gsa_GTP_AC_init in component environment (fmol)'); LEGEND_CONSTANTS(:,106) = strpad('q_Gsa_GTP_AC_ATP_init in component environment (fmol)'); LEGEND_CONSTANTS(:,107) = strpad('q_PDE_init in component environment (fmol)'); LEGEND_CONSTANTS(:,108) = strpad('q_PDEinh_init in component environment (fmol)'); LEGEND_CONSTANTS(:,109) = strpad('q_PDE_cAMP_init in component environment (fmol)'); LEGEND_CONSTANTS(:,110) = strpad('q_IBMX_init in component environment (fmol)'); LEGEND_CONSTANTS(:,111) = strpad('q_five_AMP_init in component environment (fmol)'); LEGEND_CONSTANTS(:,112) = strpad('q_Gia_GTP_init in component environment (fmol)'); LEGEND_CONSTANTS(:,113) = strpad('q_ACinh_init in component environment (fmol)'); LEGEND_CONSTANTS(:,114) = strpad('q_PPi_init in component environment (fmol)'); LEGEND_CONSTANTS(:,115) = strpad('q_RB1_inactive_init in component environment (fmol)'); LEGEND_CONSTANTS(:,116) = strpad('q_L_RB1_inactive_init in component environment (fmol)'); LEGEND_ALGEBRAIC(:,1) = strpad('q_LB1_init in component environment (fmol)'); LEGEND_CONSTANTS(:,117) = strpad('q_RB1_init in component environment (fmol)'); LEGEND_CONSTANTS(:,118) = strpad('q_Gs_init in component environment (fmol)'); LEGEND_CONSTANTS(:,119) = strpad('q_RB1_Gs_init in component environment (fmol)'); LEGEND_CONSTANTS(:,120) = strpad('q_L_RB1_init in component environment (fmol)'); LEGEND_CONSTANTS(:,121) = strpad('q_L_RB1_Gs_init in component environment (fmol)'); LEGEND_CONSTANTS(:,122) = strpad('q_Gsbetagamma_init in component environment (fmol)'); LEGEND_CONSTANTS(:,123) = strpad('q_Gsa_GDP_init in component environment (fmol)'); LEGEND_CONSTANTS(:,124) = strpad('q_GTP_init in component environment (fmol)'); LEGEND_CONSTANTS(:,125) = strpad('q_GDP_init in component environment (fmol)'); LEGEND_CONSTANTS(:,126) = strpad('q_Pi_init in component environment (fmol)'); LEGEND_CONSTANTS(:,127) = strpad('q_RB1_tag_init in component environment (fmol)'); LEGEND_CONSTANTS(:,128) = strpad('q_L_RB1_tag_init in component environment (fmol)'); LEGEND_CONSTANTS(:,129) = strpad('q_RB1_GRKArr_init in component environment (fmol)'); LEGEND_CONSTANTS(:,130) = strpad('q_L_RB1_GRKArr_init in component environment (fmol)'); LEGEND_CONSTANTS(:,131) = strpad('q_GRKArr_init in component environment (fmol)'); LEGEND_CONSTANTS(:,132) = strpad('q_RM2_inactive_init in component environment (fmol)'); LEGEND_CONSTANTS(:,133) = strpad('q_L_RM2_inactive_init in component environment (fmol)'); LEGEND_ALGEBRAIC(:,2) = strpad('q_LM2_init in component environment (fmol)'); LEGEND_CONSTANTS(:,134) = strpad('q_RM2_init in component environment (fmol)'); LEGEND_CONSTANTS(:,135) = strpad('q_Gi_init in component environment (fmol)'); LEGEND_CONSTANTS(:,136) = strpad('q_RM2_Gi_init in component environment (fmol)'); LEGEND_CONSTANTS(:,137) = strpad('q_L_RM2_init in component environment (fmol)'); LEGEND_CONSTANTS(:,138) = strpad('q_L_RM2_Gi_init in component environment (fmol)'); LEGEND_CONSTANTS(:,139) = strpad('q_Gibetagamma_init in component environment (fmol)'); LEGEND_CONSTANTS(:,140) = strpad('q_Gia_GDP_init in component environment (fmol)'); LEGEND_CONSTANTS(:,141) = strpad('q_RM2_tag_init in component environment (fmol)'); LEGEND_CONSTANTS(:,142) = strpad('q_L_RM2_tag_init in component environment (fmol)'); LEGEND_CONSTANTS(:,143) = strpad('q_RM2_GRKArr_init in component environment (fmol)'); LEGEND_CONSTANTS(:,144) = strpad('q_L_RM2_GRKArr_init in component environment (fmol)'); LEGEND_ALGEBRAIC(:,59) = strpad('LB1_T in component environment (fmol)'); LEGEND_ALGEBRAIC(:,60) = strpad('RB1_T in component environment (fmol)'); LEGEND_ALGEBRAIC(:,44) = strpad('Gs_T in component environment (fmol)'); LEGEND_ALGEBRAIC(:,17) = strpad('adenosine_T in component environment (fmol)'); LEGEND_ALGEBRAIC(:,3) = strpad('q_ATP in component environment (fmol)'); LEGEND_ALGEBRAIC(:,4) = strpad('q_cAMP in component environment (fmol)'); LEGEND_ALGEBRAIC(:,5) = strpad('q_AC in component environment (fmol)'); LEGEND_ALGEBRAIC(:,6) = strpad('q_AC_ATP in component environment (fmol)'); LEGEND_ALGEBRAIC(:,7) = strpad('q_Gsa_GTP_AC in component environment (fmol)'); LEGEND_ALGEBRAIC(:,8) = strpad('q_Gsa_GTP_AC_ATP in component environment (fmol)'); LEGEND_ALGEBRAIC(:,9) = strpad('q_FSK_AC in component environment (fmol)'); LEGEND_ALGEBRAIC(:,10) = strpad('q_FSK_AC_ATP in component environment (fmol)'); LEGEND_ALGEBRAIC(:,11) = strpad('q_PDE in component environment (fmol)'); LEGEND_ALGEBRAIC(:,14) = strpad('q_PDE_cAMP in component environment (fmol)'); LEGEND_ALGEBRAIC(:,15) = strpad('q_five_AMP in component environment (fmol)'); LEGEND_ALGEBRAIC(:,18) = strpad('q_IBMX in component environment (fmol)'); LEGEND_ALGEBRAIC(:,19) = strpad('q_PDEinh in component environment (fmol)'); LEGEND_ALGEBRAIC(:,20) = strpad('q_Gsa_GTP in component environment (fmol)'); LEGEND_ALGEBRAIC(:,21) = strpad('q_FSK in component environment (fmol)'); LEGEND_ALGEBRAIC(:,23) = strpad('q_Gia_GTP in component environment (fmol)'); LEGEND_ALGEBRAIC(:,24) = strpad('q_ACinh in component environment (fmol)'); LEGEND_ALGEBRAIC(:,26) = strpad('q_PPi in component environment (fmol)'); LEGEND_ALGEBRAIC(:,25) = strpad('q_RB1_inactive in component environment (fmol)'); LEGEND_ALGEBRAIC(:,27) = strpad('q_L_RB1_inactive in component environment (fmol)'); LEGEND_ALGEBRAIC(:,28) = strpad('q_LB1 in component environment (fmol)'); LEGEND_ALGEBRAIC(:,30) = strpad('q_RB1 in component environment (fmol)'); LEGEND_ALGEBRAIC(:,32) = strpad('q_Gs in component environment (fmol)'); LEGEND_ALGEBRAIC(:,34) = strpad('q_RB1_Gs in component environment (fmol)'); LEGEND_ALGEBRAIC(:,36) = strpad('q_L_RB1 in component environment (fmol)'); LEGEND_ALGEBRAIC(:,38) = strpad('q_L_RB1_Gs in component environment (fmol)'); LEGEND_ALGEBRAIC(:,40) = strpad('q_Gsbetagamma in component environment (fmol)'); LEGEND_ALGEBRAIC(:,42) = strpad('q_Gsa_GDP in component environment (fmol)'); LEGEND_ALGEBRAIC(:,45) = strpad('q_GTP in component environment (fmol)'); LEGEND_ALGEBRAIC(:,47) = strpad('q_GDP in component environment (fmol)'); LEGEND_ALGEBRAIC(:,49) = strpad('q_Pi in component environment (fmol)'); LEGEND_ALGEBRAIC(:,51) = strpad('q_RB1_tag in component environment (fmol)'); LEGEND_ALGEBRAIC(:,53) = strpad('q_L_RB1_tag in component environment (fmol)'); LEGEND_ALGEBRAIC(:,55) = strpad('q_RB1_GRKArr in component environment (fmol)'); LEGEND_ALGEBRAIC(:,57) = strpad('q_L_RB1_GRKArr in component environment (fmol)'); LEGEND_ALGEBRAIC(:,61) = strpad('q_GRKArr in component environment (fmol)'); LEGEND_ALGEBRAIC(:,63) = strpad('q_RM2_inactive in component environment (fmol)'); LEGEND_ALGEBRAIC(:,66) = strpad('q_L_RM2_inactive in component environment (fmol)'); LEGEND_ALGEBRAIC(:,69) = strpad('q_LM2 in component environment (fmol)'); LEGEND_ALGEBRAIC(:,72) = strpad('q_RM2 in component environment (fmol)'); LEGEND_ALGEBRAIC(:,75) = strpad('q_Gi in component environment (fmol)'); LEGEND_ALGEBRAIC(:,78) = strpad('q_RM2_Gi in component environment (fmol)'); LEGEND_ALGEBRAIC(:,81) = strpad('q_L_RM2 in component environment (fmol)'); LEGEND_ALGEBRAIC(:,86) = strpad('q_L_RM2_Gi in component environment (fmol)'); LEGEND_ALGEBRAIC(:,90) = strpad('q_Gibetagamma in component environment (fmol)'); LEGEND_ALGEBRAIC(:,94) = strpad('q_Gia_GDP in component environment (fmol)'); LEGEND_ALGEBRAIC(:,98) = strpad('q_RM2_tag in component environment (fmol)'); LEGEND_ALGEBRAIC(:,100) = strpad('q_L_RM2_tag in component environment (fmol)'); LEGEND_ALGEBRAIC(:,102) = strpad('q_RM2_GRKArr in component environment (fmol)'); LEGEND_ALGEBRAIC(:,104) = strpad('q_L_RM2_GRKArr in component environment (fmol)'); LEGEND_STATES(:,1) = strpad('q_ATP in component cAMP (fmol)'); LEGEND_STATES(:,2) = strpad('q_cAMP in component cAMP (fmol)'); LEGEND_STATES(:,3) = strpad('q_AC in component cAMP (fmol)'); LEGEND_STATES(:,4) = strpad('q_AC_ATP in component cAMP (fmol)'); LEGEND_STATES(:,5) = strpad('q_Gsa_GTP_AC in component cAMP (fmol)'); LEGEND_STATES(:,6) = strpad('q_Gsa_GTP_AC_ATP in component cAMP (fmol)'); LEGEND_STATES(:,7) = strpad('q_FSK_AC in component cAMP (fmol)'); LEGEND_STATES(:,8) = strpad('q_FSK_AC_ATP in component cAMP (fmol)'); LEGEND_STATES(:,9) = strpad('q_PDE in component cAMP (fmol)'); LEGEND_STATES(:,10) = strpad('q_PDE_cAMP in component cAMP (fmol)'); LEGEND_STATES(:,11) = strpad('q_five_AMP in component cAMP (fmol)'); LEGEND_STATES(:,12) = strpad('q_IBMX in component cAMP (fmol)'); LEGEND_STATES(:,13) = strpad('q_PDEinh in component cAMP (fmol)'); LEGEND_STATES(:,14) = strpad('q_Gsa_GTP in component cAMP (fmol)'); LEGEND_STATES(:,15) = strpad('q_FSK in component cAMP (fmol)'); LEGEND_STATES(:,16) = strpad('q_Gia_GTP in component cAMP (fmol)'); LEGEND_STATES(:,17) = strpad('q_ACinh in component cAMP (fmol)'); LEGEND_STATES(:,18) = strpad('q_PPi in component cAMP (fmol)'); LEGEND_STATES(:,19) = strpad('q_RB1_inactive in component GPCR_B1AR_reduced (fmol)'); LEGEND_STATES(:,20) = strpad('q_L_RB1_inactive in component GPCR_B1AR_reduced (fmol)'); LEGEND_STATES(:,21) = strpad('q_LB1 in component GPCR_B1AR_reduced (fmol)'); LEGEND_STATES(:,22) = strpad('q_RB1 in component GPCR_B1AR_reduced (fmol)'); LEGEND_STATES(:,23) = strpad('q_Gs in component GPCR_B1AR_reduced (fmol)'); LEGEND_STATES(:,24) = strpad('q_RB1_Gs in component GPCR_B1AR_reduced (fmol)'); LEGEND_STATES(:,25) = strpad('q_L_RB1 in component GPCR_B1AR_reduced (fmol)'); LEGEND_STATES(:,26) = strpad('q_L_RB1_Gs in component GPCR_B1AR_reduced (fmol)'); LEGEND_STATES(:,27) = strpad('q_Gsa_GTP in component GPCR_B1AR_reduced (fmol)'); LEGEND_STATES(:,28) = strpad('q_Gsbetagamma in component GPCR_B1AR_reduced (fmol)'); LEGEND_STATES(:,29) = strpad('q_Gsa_GDP in component GPCR_B1AR_reduced (fmol)'); LEGEND_STATES(:,30) = strpad('q_GTP in component GPCR_B1AR_reduced (fmol)'); LEGEND_STATES(:,31) = strpad('q_GDP in component GPCR_B1AR_reduced (fmol)'); LEGEND_STATES(:,32) = strpad('q_Pi in component GPCR_B1AR_reduced (fmol)'); LEGEND_STATES(:,33) = strpad('q_RB1_tag in component GPCR_B1AR_reduced (fmol)'); LEGEND_STATES(:,34) = strpad('q_L_RB1_tag in component GPCR_B1AR_reduced (fmol)'); LEGEND_STATES(:,35) = strpad('q_RB1_GRKArr in component GPCR_B1AR_reduced (fmol)'); LEGEND_STATES(:,36) = strpad('q_L_RB1_GRKArr in component GPCR_B1AR_reduced (fmol)'); LEGEND_STATES(:,37) = strpad('q_GRKArr in component GPCR_B1AR_reduced (fmol)'); LEGEND_STATES(:,38) = strpad('q_RM2_inactive in component GPCR_M2_reduced (fmol)'); LEGEND_STATES(:,39) = strpad('q_L_RM2_inactive in component GPCR_M2_reduced (fmol)'); LEGEND_STATES(:,40) = strpad('q_LM2 in component GPCR_M2_reduced (fmol)'); LEGEND_STATES(:,41) = strpad('q_RM2 in component GPCR_M2_reduced (fmol)'); LEGEND_STATES(:,42) = strpad('q_Gi in component GPCR_M2_reduced (fmol)'); LEGEND_STATES(:,43) = strpad('q_RM2_Gi in component GPCR_M2_reduced (fmol)'); LEGEND_STATES(:,44) = strpad('q_L_RM2 in component GPCR_M2_reduced (fmol)'); LEGEND_STATES(:,45) = strpad('q_L_RM2_Gi in component GPCR_M2_reduced (fmol)'); LEGEND_STATES(:,46) = strpad('q_Gia_GTP in component GPCR_M2_reduced (fmol)'); LEGEND_STATES(:,47) = strpad('q_Gibetagamma in component GPCR_M2_reduced (fmol)'); LEGEND_STATES(:,48) = strpad('q_Gia_GDP in component GPCR_M2_reduced (fmol)'); LEGEND_STATES(:,49) = strpad('q_GTP in component GPCR_M2_reduced (fmol)'); LEGEND_STATES(:,50) = strpad('q_GDP in component GPCR_M2_reduced (fmol)'); LEGEND_STATES(:,51) = strpad('q_Pi in component GPCR_M2_reduced (fmol)'); LEGEND_STATES(:,52) = strpad('q_RM2_tag in component GPCR_M2_reduced (fmol)'); LEGEND_STATES(:,53) = strpad('q_L_RM2_tag in component GPCR_M2_reduced (fmol)'); LEGEND_STATES(:,54) = strpad('q_RM2_GRKArr in component GPCR_M2_reduced (fmol)'); LEGEND_STATES(:,55) = strpad('q_L_RM2_GRKArr in component GPCR_M2_reduced (fmol)'); LEGEND_STATES(:,56) = strpad('q_GRKArr in component GPCR_M2_reduced (fmol)'); LEGEND_CONSTANTS(:,145) = strpad('R in component constants (J_per_K_per_mol)'); LEGEND_CONSTANTS(:,146) = strpad('T in component constants (kelvin)'); LEGEND_CONSTANTS(:,147) = strpad('F in component constants (C_per_mol)'); LEGEND_ALGEBRAIC(:,70) = strpad('v1a in component cAMP (fmol_per_sec)'); LEGEND_ALGEBRAIC(:,73) = strpad('v1b in component cAMP (fmol_per_sec)'); LEGEND_ALGEBRAIC(:,76) = strpad('v2a in component cAMP (fmol_per_sec)'); LEGEND_ALGEBRAIC(:,79) = strpad('v2b in component cAMP (fmol_per_sec)'); LEGEND_ALGEBRAIC(:,82) = strpad('v3a in component cAMP (fmol_per_sec)'); LEGEND_ALGEBRAIC(:,84) = strpad('v3b in component cAMP (fmol_per_sec)'); LEGEND_ALGEBRAIC(:,87) = strpad('v4a in component cAMP (fmol_per_sec)'); LEGEND_ALGEBRAIC(:,91) = strpad('v4b in component cAMP (fmol_per_sec)'); LEGEND_ALGEBRAIC(:,95) = strpad('v5 in component cAMP (fmol_per_sec)'); LEGEND_ALGEBRAIC(:,88) = strpad('v6 in component cAMP (fmol_per_sec)'); LEGEND_ALGEBRAIC(:,92) = strpad('v7 in component cAMP (fmol_per_sec)'); LEGEND_ALGEBRAIC(:,96) = strpad('vGiAC in component cAMP (fmol_per_sec)'); LEGEND_ALGEBRAIC(:,29) = strpad('mu_ATP in component cAMP (J_per_mol)'); LEGEND_ALGEBRAIC(:,33) = strpad('mu_AC in component cAMP (J_per_mol)'); LEGEND_ALGEBRAIC(:,31) = strpad('mu_cAMP in component cAMP (J_per_mol)'); LEGEND_ALGEBRAIC(:,35) = strpad('mu_AC_ATP in component cAMP (J_per_mol)'); LEGEND_ALGEBRAIC(:,58) = strpad('mu_FSK in component cAMP (J_per_mol)'); LEGEND_ALGEBRAIC(:,41) = strpad('mu_FSK_AC in component cAMP (J_per_mol)'); LEGEND_ALGEBRAIC(:,43) = strpad('mu_FSK_AC_ATP in component cAMP (J_per_mol)'); LEGEND_ALGEBRAIC(:,56) = strpad('mu_Gsa_GTP in component cAMP (J_per_mol)'); LEGEND_ALGEBRAIC(:,37) = strpad('mu_Gsa_GTP_AC in component cAMP (J_per_mol)'); LEGEND_ALGEBRAIC(:,39) = strpad('mu_Gsa_GTP_AC_ATP in component cAMP (J_per_mol)'); LEGEND_ALGEBRAIC(:,46) = strpad('mu_PDE in component cAMP (J_per_mol)'); LEGEND_ALGEBRAIC(:,54) = strpad('mu_PDEinh in component cAMP (J_per_mol)'); LEGEND_ALGEBRAIC(:,48) = strpad('mu_PDE_cAMP in component cAMP (J_per_mol)'); LEGEND_ALGEBRAIC(:,52) = strpad('mu_IBMX in component cAMP (J_per_mol)'); LEGEND_ALGEBRAIC(:,50) = strpad('mu_five_AMP in component cAMP (J_per_mol)'); LEGEND_ALGEBRAIC(:,62) = strpad('mu_Gia_GTP in component cAMP (J_per_mol)'); LEGEND_ALGEBRAIC(:,64) = strpad('mu_ACinh in component cAMP (J_per_mol)'); LEGEND_ALGEBRAIC(:,67) = strpad('mu_PPi in component cAMP (J_per_mol)'); LEGEND_CONSTANTS(:,148) = strpad('vol in component cAMP (pL)'); LEGEND_ALGEBRAIC(:,12) = strpad('ATP_T in component cAMP (fmol)'); LEGEND_ALGEBRAIC(:,13) = strpad('AC_T in component cAMP (fmol)'); LEGEND_ALGEBRAIC(:,22) = strpad('Gs_T in component cAMP (fmol)'); LEGEND_ALGEBRAIC(:,16) = strpad('cAMP_T in component cAMP (fmol)'); LEGEND_ALGEBRAIC(:,65) = strpad('mu_RB1_inactive in component GPCR_B1AR_reduced (J_per_mol)'); LEGEND_ALGEBRAIC(:,68) = strpad('mu_L_RB1_inactive in component GPCR_B1AR_reduced (J_per_mol)'); LEGEND_ALGEBRAIC(:,71) = strpad('mu_LB1 in component GPCR_B1AR_reduced (J_per_mol)'); LEGEND_ALGEBRAIC(:,74) = strpad('mu_RB1 in component GPCR_B1AR_reduced (J_per_mol)'); LEGEND_ALGEBRAIC(:,77) = strpad('mu_Gs in component GPCR_B1AR_reduced (J_per_mol)'); LEGEND_ALGEBRAIC(:,80) = strpad('mu_RB1_Gs in component GPCR_B1AR_reduced (J_per_mol)'); LEGEND_ALGEBRAIC(:,83) = strpad('mu_L_RB1 in component GPCR_B1AR_reduced (J_per_mol)'); LEGEND_ALGEBRAIC(:,85) = strpad('mu_L_RB1_Gs in component GPCR_B1AR_reduced (J_per_mol)'); LEGEND_ALGEBRAIC(:,89) = strpad('mu_Gsa_GTP in component GPCR_B1AR_reduced (J_per_mol)'); LEGEND_ALGEBRAIC(:,93) = strpad('mu_Gsbetagamma in component GPCR_B1AR_reduced (J_per_mol)'); LEGEND_ALGEBRAIC(:,97) = strpad('mu_Gsa_GDP in component GPCR_B1AR_reduced (J_per_mol)'); LEGEND_ALGEBRAIC(:,99) = strpad('mu_GTP in component GPCR_B1AR_reduced (J_per_mol)'); LEGEND_ALGEBRAIC(:,101) = strpad('mu_GDP in component GPCR_B1AR_reduced (J_per_mol)'); LEGEND_ALGEBRAIC(:,103) = strpad('mu_Pi in component GPCR_B1AR_reduced (J_per_mol)'); LEGEND_ALGEBRAIC(:,105) = strpad('mu_RB1_tag in component GPCR_B1AR_reduced (J_per_mol)'); LEGEND_ALGEBRAIC(:,107) = strpad('mu_L_RB1_tag in component GPCR_B1AR_reduced (J_per_mol)'); LEGEND_ALGEBRAIC(:,109) = strpad('mu_RB1_GRKArr in component GPCR_B1AR_reduced (J_per_mol)'); LEGEND_ALGEBRAIC(:,111) = strpad('mu_L_RB1_GRKArr in component GPCR_B1AR_reduced (J_per_mol)'); LEGEND_ALGEBRAIC(:,113) = strpad('mu_GRKArr in component GPCR_B1AR_reduced (J_per_mol)'); LEGEND_ALGEBRAIC(:,115) = strpad('v_Rswitch_B1 in component GPCR_B1AR_reduced (fmol_per_sec)'); LEGEND_ALGEBRAIC(:,117) = strpad('v_LRswitch_B1 in component GPCR_B1AR_reduced (fmol_per_sec)'); LEGEND_ALGEBRAIC(:,119) = strpad('v_C_B1 in component GPCR_B1AR_reduced (fmol_per_sec)'); LEGEND_ALGEBRAIC(:,122) = strpad('v_R_B1 in component GPCR_B1AR_reduced (fmol_per_sec)'); LEGEND_ALGEBRAIC(:,120) = strpad('v_L_B1 in component GPCR_B1AR_reduced (fmol_per_sec)'); LEGEND_ALGEBRAIC(:,125) = strpad('v_Act1_Gs in component GPCR_B1AR_reduced (fmol_per_sec)'); LEGEND_ALGEBRAIC(:,127) = strpad('v_Act2_Gs in component GPCR_B1AR_reduced (fmol_per_sec)'); LEGEND_ALGEBRAIC(:,129) = strpad('v_Hyd_Gs in component GPCR_B1AR_reduced (fmol_per_sec)'); LEGEND_ALGEBRAIC(:,132) = strpad('v_Reassoc_Gs in component GPCR_B1AR_reduced (fmol_per_sec)'); LEGEND_ALGEBRAIC(:,130) = strpad('v_InternR_B1 in component GPCR_B1AR_reduced (fmol_per_sec)'); LEGEND_ALGEBRAIC(:,133) = strpad('v_InternLR_B1 in component GPCR_B1AR_reduced (fmol_per_sec)'); LEGEND_ALGEBRAIC(:,123) = strpad('v_Rsynthesis in component GPCR_B1AR_reduced (fmol_per_sec)'); LEGEND_ALGEBRAIC(:,106) = strpad('mu_RM2_inactive in component GPCR_M2_reduced (J_per_mol)'); LEGEND_ALGEBRAIC(:,108) = strpad('mu_L_RM2_inactive in component GPCR_M2_reduced (J_per_mol)'); LEGEND_ALGEBRAIC(:,110) = strpad('mu_LM2 in component GPCR_M2_reduced (J_per_mol)'); LEGEND_ALGEBRAIC(:,112) = strpad('mu_RM2 in component GPCR_M2_reduced (J_per_mol)'); LEGEND_ALGEBRAIC(:,114) = strpad('mu_Gi in component GPCR_M2_reduced (J_per_mol)'); LEGEND_ALGEBRAIC(:,116) = strpad('mu_RM2_Gi in component GPCR_M2_reduced (J_per_mol)'); LEGEND_ALGEBRAIC(:,118) = strpad('mu_L_RM2 in component GPCR_M2_reduced (J_per_mol)'); LEGEND_ALGEBRAIC(:,121) = strpad('mu_L_RM2_Gi in component GPCR_M2_reduced (J_per_mol)'); LEGEND_ALGEBRAIC(:,124) = strpad('mu_Gia_GTP in component GPCR_M2_reduced (J_per_mol)'); LEGEND_ALGEBRAIC(:,126) = strpad('mu_Gibetagamma in component GPCR_M2_reduced (J_per_mol)'); LEGEND_ALGEBRAIC(:,128) = strpad('mu_Gia_GDP in component GPCR_M2_reduced (J_per_mol)'); LEGEND_ALGEBRAIC(:,131) = strpad('mu_GTP in component GPCR_M2_reduced (J_per_mol)'); LEGEND_ALGEBRAIC(:,134) = strpad('mu_GDP in component GPCR_M2_reduced (J_per_mol)'); LEGEND_ALGEBRAIC(:,135) = strpad('mu_Pi in component GPCR_M2_reduced (J_per_mol)'); LEGEND_ALGEBRAIC(:,136) = strpad('mu_RM2_tag in component GPCR_M2_reduced (J_per_mol)'); LEGEND_ALGEBRAIC(:,137) = strpad('mu_L_RM2_tag in component GPCR_M2_reduced (J_per_mol)'); LEGEND_ALGEBRAIC(:,138) = strpad('mu_RM2_GRKArr in component GPCR_M2_reduced (J_per_mol)'); LEGEND_ALGEBRAIC(:,139) = strpad('mu_L_RM2_GRKArr in component GPCR_M2_reduced (J_per_mol)'); LEGEND_ALGEBRAIC(:,140) = strpad('mu_GRKArr in component GPCR_M2_reduced (J_per_mol)'); LEGEND_ALGEBRAIC(:,141) = strpad('v_Rswitch_M2 in component GPCR_M2_reduced (fmol_per_sec)'); LEGEND_ALGEBRAIC(:,142) = strpad('v_LRswitch_M2 in component GPCR_M2_reduced (fmol_per_sec)'); LEGEND_ALGEBRAIC(:,143) = strpad('v_C_M2 in component GPCR_M2_reduced (fmol_per_sec)'); LEGEND_ALGEBRAIC(:,144) = strpad('v_R_M2 in component GPCR_M2_reduced (fmol_per_sec)'); LEGEND_ALGEBRAIC(:,145) = strpad('v_L_M2 in component GPCR_M2_reduced (fmol_per_sec)'); LEGEND_ALGEBRAIC(:,146) = strpad('v_Act1_Gi in component GPCR_M2_reduced (fmol_per_sec)'); LEGEND_ALGEBRAIC(:,147) = strpad('v_Act2_Gi in component GPCR_M2_reduced (fmol_per_sec)'); LEGEND_ALGEBRAIC(:,149) = strpad('v_Hyd_Gi in component GPCR_M2_reduced (fmol_per_sec)'); LEGEND_ALGEBRAIC(:,151) = strpad('v_Reassoc_Gi in component GPCR_M2_reduced (fmol_per_sec)'); LEGEND_ALGEBRAIC(:,150) = strpad('v_InternR_M2 in component GPCR_M2_reduced (fmol_per_sec)'); LEGEND_ALGEBRAIC(:,152) = strpad('v_InternLR_M2 in component GPCR_M2_reduced (fmol_per_sec)'); LEGEND_ALGEBRAIC(:,148) = strpad('v_Rsynthesis in component GPCR_M2_reduced (fmol_per_sec)'); LEGEND_RATES(:,1) = strpad('d/dt q_ATP in component cAMP (fmol)'); LEGEND_RATES(:,3) = strpad('d/dt q_AC in component cAMP (fmol)'); LEGEND_RATES(:,4) = strpad('d/dt q_AC_ATP in component cAMP (fmol)'); LEGEND_RATES(:,2) = strpad('d/dt q_cAMP in component cAMP (fmol)'); LEGEND_RATES(:,15) = strpad('d/dt q_FSK in component cAMP (fmol)'); LEGEND_RATES(:,7) = strpad('d/dt q_FSK_AC in component cAMP (fmol)'); LEGEND_RATES(:,8) = strpad('d/dt q_FSK_AC_ATP in component cAMP (fmol)'); LEGEND_RATES(:,14) = strpad('d/dt q_Gsa_GTP in component cAMP (fmol)'); LEGEND_RATES(:,5) = strpad('d/dt q_Gsa_GTP_AC in component cAMP (fmol)'); LEGEND_RATES(:,6) = strpad('d/dt q_Gsa_GTP_AC_ATP in component cAMP (fmol)'); LEGEND_RATES(:,10) = strpad('d/dt q_PDE_cAMP in component cAMP (fmol)'); LEGEND_RATES(:,9) = strpad('d/dt q_PDE in component cAMP (fmol)'); LEGEND_RATES(:,12) = strpad('d/dt q_IBMX in component cAMP (fmol)'); LEGEND_RATES(:,13) = strpad('d/dt q_PDEinh in component cAMP (fmol)'); LEGEND_RATES(:,11) = strpad('d/dt q_five_AMP in component cAMP (fmol)'); LEGEND_RATES(:,16) = strpad('d/dt q_Gia_GTP in component cAMP (fmol)'); LEGEND_RATES(:,17) = strpad('d/dt q_ACinh in component cAMP (fmol)'); LEGEND_RATES(:,18) = strpad('d/dt q_PPi in component cAMP (fmol)'); LEGEND_RATES(:,19) = strpad('d/dt q_RB1_inactive in component GPCR_B1AR_reduced (fmol)'); LEGEND_RATES(:,20) = strpad('d/dt q_L_RB1_inactive in component GPCR_B1AR_reduced (fmol)'); LEGEND_RATES(:,21) = strpad('d/dt q_LB1 in component GPCR_B1AR_reduced (fmol)'); LEGEND_RATES(:,22) = strpad('d/dt q_RB1 in component GPCR_B1AR_reduced (fmol)'); LEGEND_RATES(:,23) = strpad('d/dt q_Gs in component GPCR_B1AR_reduced (fmol)'); LEGEND_RATES(:,24) = strpad('d/dt q_RB1_Gs in component GPCR_B1AR_reduced (fmol)'); LEGEND_RATES(:,25) = strpad('d/dt q_L_RB1 in component GPCR_B1AR_reduced (fmol)'); LEGEND_RATES(:,26) = strpad('d/dt q_L_RB1_Gs in component GPCR_B1AR_reduced (fmol)'); LEGEND_RATES(:,27) = strpad('d/dt q_Gsa_GTP in component GPCR_B1AR_reduced (fmol)'); LEGEND_RATES(:,28) = strpad('d/dt q_Gsbetagamma in component GPCR_B1AR_reduced (fmol)'); LEGEND_RATES(:,29) = strpad('d/dt q_Gsa_GDP in component GPCR_B1AR_reduced (fmol)'); LEGEND_RATES(:,30) = strpad('d/dt q_GTP in component GPCR_B1AR_reduced (fmol)'); LEGEND_RATES(:,31) = strpad('d/dt q_GDP in component GPCR_B1AR_reduced (fmol)'); LEGEND_RATES(:,32) = strpad('d/dt q_Pi in component GPCR_B1AR_reduced (fmol)'); LEGEND_RATES(:,33) = strpad('d/dt q_RB1_tag in component GPCR_B1AR_reduced (fmol)'); LEGEND_RATES(:,34) = strpad('d/dt q_L_RB1_tag in component GPCR_B1AR_reduced (fmol)'); LEGEND_RATES(:,35) = strpad('d/dt q_RB1_GRKArr in component GPCR_B1AR_reduced (fmol)'); LEGEND_RATES(:,36) = strpad('d/dt q_L_RB1_GRKArr in component GPCR_B1AR_reduced (fmol)'); LEGEND_RATES(:,37) = strpad('d/dt q_GRKArr in component GPCR_B1AR_reduced (fmol)'); LEGEND_RATES(:,38) = strpad('d/dt q_RM2_inactive in component GPCR_M2_reduced (fmol)'); LEGEND_RATES(:,39) = strpad('d/dt q_L_RM2_inactive in component GPCR_M2_reduced (fmol)'); LEGEND_RATES(:,40) = strpad('d/dt q_LM2 in component GPCR_M2_reduced (fmol)'); LEGEND_RATES(:,41) = strpad('d/dt q_RM2 in component GPCR_M2_reduced (fmol)'); LEGEND_RATES(:,42) = strpad('d/dt q_Gi in component GPCR_M2_reduced (fmol)'); LEGEND_RATES(:,43) = strpad('d/dt q_RM2_Gi in component GPCR_M2_reduced (fmol)'); LEGEND_RATES(:,44) = strpad('d/dt q_L_RM2 in component GPCR_M2_reduced (fmol)'); LEGEND_RATES(:,45) = strpad('d/dt q_L_RM2_Gi in component GPCR_M2_reduced (fmol)'); LEGEND_RATES(:,46) = strpad('d/dt q_Gia_GTP in component GPCR_M2_reduced (fmol)'); LEGEND_RATES(:,47) = strpad('d/dt q_Gibetagamma in component GPCR_M2_reduced (fmol)'); LEGEND_RATES(:,48) = strpad('d/dt q_Gia_GDP in component GPCR_M2_reduced (fmol)'); LEGEND_RATES(:,49) = strpad('d/dt q_GTP in component GPCR_M2_reduced (fmol)'); LEGEND_RATES(:,50) = strpad('d/dt q_GDP in component GPCR_M2_reduced (fmol)'); LEGEND_RATES(:,51) = strpad('d/dt q_Pi in component GPCR_M2_reduced (fmol)'); LEGEND_RATES(:,52) = strpad('d/dt q_RM2_tag in component GPCR_M2_reduced (fmol)'); LEGEND_RATES(:,53) = strpad('d/dt q_L_RM2_tag in component GPCR_M2_reduced (fmol)'); LEGEND_RATES(:,54) = strpad('d/dt q_RM2_GRKArr in component GPCR_M2_reduced (fmol)'); LEGEND_RATES(:,55) = strpad('d/dt q_L_RM2_GRKArr in component GPCR_M2_reduced (fmol)'); LEGEND_RATES(:,56) = strpad('d/dt q_GRKArr in component GPCR_M2_reduced (fmol)'); 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) = 7.05076e+06; CONSTANTS(:,2) = 0.00147213; CONSTANTS(:,3) = 186465; CONSTANTS(:,4) = 0.0503158; CONSTANTS(:,5) = 2.50455e+08; CONSTANTS(:,6) = 2.91227e-17; CONSTANTS(:,7) = 30352.7; CONSTANTS(:,8) = 0.116741; CONSTANTS(:,9) = 833.759; CONSTANTS(:,10) = 4236.98; CONSTANTS(:,11) = 569102; CONSTANTS(:,12) = 1052.47; CONSTANTS(:,13) = 93.1496; CONSTANTS(:,14) = 0.00202063; CONSTANTS(:,15) = 1459.71; CONSTANTS(:,16) = 31664.5; CONSTANTS(:,17) = 0.00057588; CONSTANTS(:,18) = 0.00326844; CONSTANTS(:,19) = 37.7371; CONSTANTS(:,20) = 0.0787034; CONSTANTS(:,21) = 0.00156706; CONSTANTS(:,22) = 0.00130092; CONSTANTS(:,23) = 15.0203; CONSTANTS(:,24) = 271.765; CONSTANTS(:,25) = 0.0101296; CONSTANTS(:,26) = 7036.75; CONSTANTS(:,27) = 262283; CONSTANTS(:,28) = 0.111426; CONSTANTS(:,29) = 0.00270806; CONSTANTS(:,30) = 1.32138; CONSTANTS(:,31) = 0.48875; CONSTANTS(:,32) = 0.00258927; CONSTANTS(:,33) = 0.000652343; CONSTANTS(:,34) = 0.318306; CONSTANTS(:,35) = 6.60544e-05; CONSTANTS(:,36) = 0.0166528; CONSTANTS(:,37) = 1.68744; CONSTANTS(:,38) = 3.94935; CONSTANTS(:,39) = 6.86096; CONSTANTS(:,40) = 4.91084; CONSTANTS(:,41) = 0.0510801; CONSTANTS(:,42) = 0.0998184; CONSTANTS(:,43) = 1.67186; CONSTANTS(:,44) = 1.24505; CONSTANTS(:,45) = 0.0166528; CONSTANTS(:,46) = 0.020208; CONSTANTS(:,47) = 34.8659; CONSTANTS(:,48) = 0.295487; CONSTANTS(:,49) = 1.99992e-05; CONSTANTS(:,50) = 0.0475823; CONSTANTS(:,51) = 27.6205; CONSTANTS(:,52) = 0.000115307; CONSTANTS(:,53) = 3.12076; CONSTANTS(:,54) = 143865; CONSTANTS(:,55) = 4702.09; CONSTANTS(:,56) = 0.0312076; CONSTANTS(:,57) = 0.185505; CONSTANTS(:,58) = 6.57187; CONSTANTS(:,59) = 0.00143865; CONSTANTS(:,60) = 0.000569194; CONSTANTS(:,61) = 9.19376; CONSTANTS(:,62) = 70.9724; CONSTANTS(:,63) = 0.629469; CONSTANTS(:,64) = 5.92518e-07; CONSTANTS(:,65) = 1.51286e-06; CONSTANTS(:,66) = 1.35735; CONSTANTS(:,67) = 0.000117561; CONSTANTS(:,68) = 0.00223456; CONSTANTS(:,69) = 1.93537e-07; CONSTANTS(:,70) = 4785.64; CONSTANTS(:,71) = 1.06966; CONSTANTS(:,72) = 28697.8; CONSTANTS(:,73) = 70.9007; CONSTANTS(:,74) = 0.0106966; CONSTANTS(:,75) = 0.11227; CONSTANTS(:,76) = 1.23934; CONSTANTS(:,77) = 0.000286978; CONSTANTS(:,78) = 0.00253994; CONSTANTS(:,79) = 34.5537; CONSTANTS(:,80) = 11.4287; CONSTANTS(:,81) = 2.70687; CONSTANTS(:,82) = 0.00554752; CONSTANTS(:,83) = 0.00445621; CONSTANTS(:,84) = 9.13266e-06; CONSTANTS(:,85) = 34.4; CONSTANTS(:,86) = 500; CONSTANTS(:,87) = 3.5e-4; CONSTANTS(:,88) = 0.25e-4; CONSTANTS(:,89) = 1.8e-4; CONSTANTS(:,90) = 1e1; CONSTANTS(:,91) = 1e-5; CONSTANTS(:,92) = 7e-4; CONSTANTS(:,93) = 0.25e-4; CONSTANTS(:,94) = 1.8e-4; CONSTANTS(:,95) = 1e1; CONSTANTS(:,96) = 1e-5; CONSTANTS(:,97) = 190; CONSTANTS(:,98) = 1.889E-03; CONSTANTS(:,99) = 1e-18; CONSTANTS(:,100) = 1e-18; CONSTANTS(:,101) = 3.800E-05; CONSTANTS(:,102) = 1e-18; CONSTANTS(:,103) = 1e-18; CONSTANTS(:,104) = 1e-18; CONSTANTS(:,105) = 1e-18; CONSTANTS(:,106) = 1e-18; CONSTANTS(:,107) = 1.482E-03; CONSTANTS(:,108) = 1e-18; CONSTANTS(:,109) = 1e-18; CONSTANTS(:,110) = 3.80E-02; CONSTANTS(:,111) = 1e-18; CONSTANTS(:,112) = 1e-18; CONSTANTS(:,113) = 1e-18; CONSTANTS(:,114) = 1e-18; CONSTANTS(:,115) = 0.0004579000; CONSTANTS(:,116) = 1e-18; CONSTANTS(:,117) = 1e-18; CONSTANTS(:,118) = 0.1455400000; CONSTANTS(:,119) = 1e-18; CONSTANTS(:,120) = 1e-18; CONSTANTS(:,121) = 1e-18; CONSTANTS(:,122) = 1e-18; CONSTANTS(:,123) = 1e-18; CONSTANTS(:,124) = 2.2; CONSTANTS(:,125) = 1.1; CONSTANTS(:,126) = 570; CONSTANTS(:,127) = 1e-18; CONSTANTS(:,128) = 1e-18; CONSTANTS(:,129) = 1e-18; CONSTANTS(:,130) = 1e-18; CONSTANTS(:,131) = 1e-8; CONSTANTS(:,132) = 0.00072; CONSTANTS(:,133) = 1e-18; CONSTANTS(:,134) = 1e-18; CONSTANTS(:,135) = 0.00836; CONSTANTS(:,136) = 1e-18; CONSTANTS(:,137) = 1e-18; CONSTANTS(:,138) = 1e-18; CONSTANTS(:,139) = 1e-18; CONSTANTS(:,140) = 1e-18; CONSTANTS(:,141) = 1e-18; CONSTANTS(:,142) = 1e-18; CONSTANTS(:,143) = 1e-18; CONSTANTS(:,144) = 1e-18; STATES(:,1) = 1e-16; STATES(:,2) = 1e-16; STATES(:,3) = 1e-16; STATES(:,4) = 1e-16; STATES(:,5) = 1e-16; STATES(:,6) = 1e-16; STATES(:,7) = 1e-16; STATES(:,8) = 1e-16; STATES(:,9) = 1e-16; STATES(:,10) = 1e-16; STATES(:,11) = 1e-16; STATES(:,12) = 1e-16; STATES(:,13) = 1e-16; STATES(:,14) = 1e-16; STATES(:,15) = 1e-16; STATES(:,16) = 1e-16; STATES(:,17) = 1e-16; STATES(:,18) = 1e-16; STATES(:,19) = 1e-16; STATES(:,20) = 1e-16; STATES(:,21) = 1e-16; STATES(:,22) = 1e-16; STATES(:,23) = 1e-16; STATES(:,24) = 1e-16; STATES(:,25) = 1e-16; STATES(:,26) = 1e-16; STATES(:,27) = 1e-16; STATES(:,28) = 1e-16; STATES(:,29) = 1e-16; STATES(:,30) = 1e-16; STATES(:,31) = 1e-16; STATES(:,32) = 1e-16; STATES(:,33) = 1e-16; STATES(:,34) = 1e-16; STATES(:,35) = 1e-16; STATES(:,36) = 1e-16; STATES(:,37) = 1e-16; STATES(:,38) = 1e-16; STATES(:,39) = 1e-16; STATES(:,40) = 1e-16; STATES(:,41) = 1e-16; STATES(:,42) = 1e-16; STATES(:,43) = 1e-16; STATES(:,44) = 1e-16; STATES(:,45) = 1e-16; STATES(:,46) = 1e-16; STATES(:,47) = 1e-16; STATES(:,48) = 1e-16; STATES(:,49) = 1e-16; STATES(:,50) = 1e-16; STATES(:,51) = 1e-16; STATES(:,52) = 1e-16; STATES(:,53) = 1e-16; STATES(:,54) = 1e-16; STATES(:,55) = 1e-16; STATES(:,56) = 1e-16; CONSTANTS(:,145) = 8.31; CONSTANTS(:,146) = 310; CONSTANTS(:,147) = 96485; CONSTANTS(:,148) = 38.0; CONSTANTS(:,149) = CONSTANTS(:,90)./CONSTANTS(:,89); CONSTANTS(:,150) = CONSTANTS(:,95)./CONSTANTS(:,94); 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) = CONSTANTS(:,97)+STATES(:,1); ALGEBRAIC(:,29) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,35).*ALGEBRAIC(:,3)); ALGEBRAIC(:,5) = CONSTANTS(:,98)+STATES(:,3); ALGEBRAIC(:,33) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,37).*ALGEBRAIC(:,5)); ALGEBRAIC(:,6) = CONSTANTS(:,100)+STATES(:,4); ALGEBRAIC(:,35) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,38).*ALGEBRAIC(:,6)); ALGEBRAIC(:,70) = CONSTANTS(:,1).*(exp((ALGEBRAIC(:,33)+ALGEBRAIC(:,29))./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp(ALGEBRAIC(:,35)./( CONSTANTS(:,145).*CONSTANTS(:,146)))); ALGEBRAIC(:,4) = CONSTANTS(:,99)+STATES(:,2); ALGEBRAIC(:,31) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,36).*ALGEBRAIC(:,4)); ALGEBRAIC(:,26) = CONSTANTS(:,114)+STATES(:,18); ALGEBRAIC(:,67) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,52).*ALGEBRAIC(:,26)); ALGEBRAIC(:,73) = CONSTANTS(:,2).*(exp(ALGEBRAIC(:,35)./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp((ALGEBRAIC(:,33)+ALGEBRAIC(:,31)+ALGEBRAIC(:,67))./( CONSTANTS(:,145).*CONSTANTS(:,146)))); RATES(:,4) = ALGEBRAIC(:,70) - ALGEBRAIC(:,73); ALGEBRAIC(:,7) = CONSTANTS(:,105)+STATES(:,5); ALGEBRAIC(:,37) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,39).*ALGEBRAIC(:,7)); ALGEBRAIC(:,8) = CONSTANTS(:,106)+STATES(:,6); ALGEBRAIC(:,39) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,40).*ALGEBRAIC(:,8)); ALGEBRAIC(:,76) = CONSTANTS(:,3).*(exp((ALGEBRAIC(:,37)+ALGEBRAIC(:,29))./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp(ALGEBRAIC(:,39)./( CONSTANTS(:,145).*CONSTANTS(:,146)))); ALGEBRAIC(:,79) = CONSTANTS(:,4).*(exp(ALGEBRAIC(:,39)./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp((ALGEBRAIC(:,37)+ALGEBRAIC(:,31)+ALGEBRAIC(:,67))./( CONSTANTS(:,145).*CONSTANTS(:,146)))); RATES(:,6) = ALGEBRAIC(:,76) - ALGEBRAIC(:,79); ALGEBRAIC(:,9) = CONSTANTS(:,102)+STATES(:,7); ALGEBRAIC(:,41) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,41).*ALGEBRAIC(:,9)); ALGEBRAIC(:,10) = CONSTANTS(:,103)+STATES(:,8); ALGEBRAIC(:,43) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,42).*ALGEBRAIC(:,10)); ALGEBRAIC(:,82) = CONSTANTS(:,5).*(exp((ALGEBRAIC(:,41)+ALGEBRAIC(:,29))./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp(ALGEBRAIC(:,43)./( CONSTANTS(:,145).*CONSTANTS(:,146)))); RATES(:,1) = ( - ALGEBRAIC(:,70) - ALGEBRAIC(:,82)) - ALGEBRAIC(:,76); ALGEBRAIC(:,84) = CONSTANTS(:,6).*(exp(ALGEBRAIC(:,43)./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp((ALGEBRAIC(:,41)+ALGEBRAIC(:,31)+ALGEBRAIC(:,67))./( CONSTANTS(:,145).*CONSTANTS(:,146)))); RATES(:,8) = ALGEBRAIC(:,82) - ALGEBRAIC(:,84); ALGEBRAIC(:,11) = CONSTANTS(:,107)+STATES(:,9); ALGEBRAIC(:,46) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,43).*ALGEBRAIC(:,11)); ALGEBRAIC(:,14) = CONSTANTS(:,109)+STATES(:,10); ALGEBRAIC(:,48) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,44).*ALGEBRAIC(:,14)); ALGEBRAIC(:,87) = CONSTANTS(:,7).*(exp((ALGEBRAIC(:,46)+ALGEBRAIC(:,31))./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp(ALGEBRAIC(:,48)./( CONSTANTS(:,145).*CONSTANTS(:,146)))); RATES(:,2) = (ALGEBRAIC(:,73)+ALGEBRAIC(:,84)+ALGEBRAIC(:,79)) - ALGEBRAIC(:,87); ALGEBRAIC(:,20) = CONSTANTS(:,104)+STATES(:,14)+STATES(:,27); ALGEBRAIC(:,56) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,48).*ALGEBRAIC(:,20)); ALGEBRAIC(:,88) = CONSTANTS(:,10).*(exp((ALGEBRAIC(:,33)+ALGEBRAIC(:,56))./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp(ALGEBRAIC(:,37)./( CONSTANTS(:,145).*CONSTANTS(:,146)))); RATES(:,14) = - ALGEBRAIC(:,88); RATES(:,5) = (ALGEBRAIC(:,88) - ALGEBRAIC(:,76))+ALGEBRAIC(:,79); ALGEBRAIC(:,21) = CONSTANTS(:,101)+STATES(:,15); ALGEBRAIC(:,58) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,49).*ALGEBRAIC(:,21)); ALGEBRAIC(:,92) = CONSTANTS(:,11).*(exp((ALGEBRAIC(:,58)+ALGEBRAIC(:,33))./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp(ALGEBRAIC(:,41)./( CONSTANTS(:,145).*CONSTANTS(:,146)))); RATES(:,15) = - ALGEBRAIC(:,92); RATES(:,7) = (ALGEBRAIC(:,92)+ALGEBRAIC(:,84)) - ALGEBRAIC(:,82); ALGEBRAIC(:,15) = CONSTANTS(:,111)+STATES(:,11); ALGEBRAIC(:,50) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,45).*ALGEBRAIC(:,15)); ALGEBRAIC(:,91) = CONSTANTS(:,8).*(exp(ALGEBRAIC(:,48)./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp((ALGEBRAIC(:,46)+ALGEBRAIC(:,50))./( CONSTANTS(:,145).*CONSTANTS(:,146)))); RATES(:,10) = ALGEBRAIC(:,87) - ALGEBRAIC(:,91); RATES(:,11) = ALGEBRAIC(:,91); ALGEBRAIC(:,23) = CONSTANTS(:,112)+STATES(:,16)+STATES(:,46); ALGEBRAIC(:,62) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,50).*ALGEBRAIC(:,23)); ALGEBRAIC(:,24) = CONSTANTS(:,113)+STATES(:,17); ALGEBRAIC(:,64) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,51).*ALGEBRAIC(:,24)); ALGEBRAIC(:,96) = CONSTANTS(:,12).*(exp((ALGEBRAIC(:,33)+ALGEBRAIC(:,62))./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp(ALGEBRAIC(:,64)./( CONSTANTS(:,145).*CONSTANTS(:,146)))); RATES(:,3) = (((ALGEBRAIC(:,73) - ALGEBRAIC(:,70)) - ALGEBRAIC(:,88)) - ALGEBRAIC(:,92)) - ALGEBRAIC(:,96); ALGEBRAIC(:,19) = CONSTANTS(:,108)+STATES(:,13); ALGEBRAIC(:,54) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,47).*ALGEBRAIC(:,19)); ALGEBRAIC(:,18) = CONSTANTS(:,110)+STATES(:,12); ALGEBRAIC(:,52) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,46).*ALGEBRAIC(:,18)); ALGEBRAIC(:,95) = CONSTANTS(:,9).*(exp((ALGEBRAIC(:,46)+ALGEBRAIC(:,52))./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp(ALGEBRAIC(:,54)./( CONSTANTS(:,145).*CONSTANTS(:,146)))); RATES(:,9) = (ALGEBRAIC(:,91) - ALGEBRAIC(:,87)) - ALGEBRAIC(:,95); RATES(:,12) = - ALGEBRAIC(:,95); RATES(:,13) = ALGEBRAIC(:,95); RATES(:,16) = - ALGEBRAIC(:,96); RATES(:,17) = ALGEBRAIC(:,96); RATES(:,18) = ALGEBRAIC(:,96); ALGEBRAIC(:,27) = CONSTANTS(:,116)+STATES(:,20); ALGEBRAIC(:,68) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,54).*ALGEBRAIC(:,27)); ALGEBRAIC(:,36) = CONSTANTS(:,120)+STATES(:,25); ALGEBRAIC(:,83) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,59).*ALGEBRAIC(:,36)); ALGEBRAIC(:,117) = CONSTANTS(:,14).*(exp(ALGEBRAIC(:,68)./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp(ALGEBRAIC(:,83)./( CONSTANTS(:,145).*CONSTANTS(:,146)))); ALGEBRAIC(:,25) = CONSTANTS(:,115)+STATES(:,19); ALGEBRAIC(:,65) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,53).*ALGEBRAIC(:,25)); ALGEBRAIC(:,1) = piecewise({VOICONSTANTS(:,87) - CONSTANTS(:,89), CONSTANTS(:,91)+ CONSTANTS(:,149).*((VOI - CONSTANTS(:,87))+CONSTANTS(:,89)) , VOI>=CONSTANTS(:,87)&VOI=CONSTANTS(:,87)+CONSTANTS(:,88), CONSTANTS(:,91)+ - CONSTANTS(:,149).*(((VOI - CONSTANTS(:,87)) - CONSTANTS(:,89)) - CONSTANTS(:,88)) }, CONSTANTS(:,91)); ALGEBRAIC(:,28) = ALGEBRAIC(:,1)+STATES(:,21); ALGEBRAIC(:,71) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,55).*ALGEBRAIC(:,28)); ALGEBRAIC(:,120) = CONSTANTS(:,17).*(exp((ALGEBRAIC(:,65)+ALGEBRAIC(:,71))./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp(ALGEBRAIC(:,68)./( CONSTANTS(:,145).*CONSTANTS(:,146)))); RATES(:,20) = - ALGEBRAIC(:,117)+ALGEBRAIC(:,120); RATES(:,21) = - ALGEBRAIC(:,120); ALGEBRAIC(:,30) = CONSTANTS(:,117)+STATES(:,22); ALGEBRAIC(:,74) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,56).*ALGEBRAIC(:,30)); ALGEBRAIC(:,115) = CONSTANTS(:,13).*(exp(ALGEBRAIC(:,65)./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp(ALGEBRAIC(:,74)./( CONSTANTS(:,145).*CONSTANTS(:,146)))); ALGEBRAIC(:,32) = CONSTANTS(:,118)+STATES(:,23); ALGEBRAIC(:,77) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,57).*ALGEBRAIC(:,32)); ALGEBRAIC(:,34) = CONSTANTS(:,119)+STATES(:,24); ALGEBRAIC(:,80) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,58).*ALGEBRAIC(:,34)); ALGEBRAIC(:,119) = CONSTANTS(:,15).*(exp((ALGEBRAIC(:,74)+ALGEBRAIC(:,77))./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp(ALGEBRAIC(:,80)./( CONSTANTS(:,145).*CONSTANTS(:,146)))); RATES(:,22) = ALGEBRAIC(:,115) - ALGEBRAIC(:,119); ALGEBRAIC(:,123) = ALGEBRAIC(:,115)+ALGEBRAIC(:,120); RATES(:,19) = ( - ALGEBRAIC(:,115) - ALGEBRAIC(:,120))+ 1.00000.*ALGEBRAIC(:,123); ALGEBRAIC(:,38) = CONSTANTS(:,121)+STATES(:,26); ALGEBRAIC(:,85) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,60).*ALGEBRAIC(:,38)); ALGEBRAIC(:,122) = CONSTANTS(:,16).*(exp((ALGEBRAIC(:,83)+ALGEBRAIC(:,77))./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp(ALGEBRAIC(:,85)./( CONSTANTS(:,145).*CONSTANTS(:,146)))); RATES(:,25) = ALGEBRAIC(:,117) - ALGEBRAIC(:,122); ALGEBRAIC(:,89) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,48).*ALGEBRAIC(:,20)); ALGEBRAIC(:,40) = CONSTANTS(:,122)+STATES(:,28); ALGEBRAIC(:,93) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,61).*ALGEBRAIC(:,40)); ALGEBRAIC(:,45) = CONSTANTS(:,124)+STATES(:,30)+STATES(:,49); ALGEBRAIC(:,99) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,63).*ALGEBRAIC(:,45)); ALGEBRAIC(:,47) = CONSTANTS(:,125)+STATES(:,31)+STATES(:,50); ALGEBRAIC(:,101) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,64).*ALGEBRAIC(:,47)); ALGEBRAIC(:,51) = CONSTANTS(:,127)+STATES(:,33); ALGEBRAIC(:,105) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,66).*ALGEBRAIC(:,51)); ALGEBRAIC(:,125) = CONSTANTS(:,18).*(exp((ALGEBRAIC(:,80)+ALGEBRAIC(:,99))./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp((ALGEBRAIC(:,89)+ALGEBRAIC(:,93)+ALGEBRAIC(:,105)+ALGEBRAIC(:,101))./( CONSTANTS(:,145).*CONSTANTS(:,146)))); RATES(:,24) = ALGEBRAIC(:,119) - ALGEBRAIC(:,125); ALGEBRAIC(:,53) = CONSTANTS(:,128)+STATES(:,34); ALGEBRAIC(:,107) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,67).*ALGEBRAIC(:,53)); ALGEBRAIC(:,127) = CONSTANTS(:,19).*(exp((ALGEBRAIC(:,85)+ALGEBRAIC(:,99))./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp((ALGEBRAIC(:,89)+ALGEBRAIC(:,93)+ALGEBRAIC(:,107)+ALGEBRAIC(:,101))./( CONSTANTS(:,145).*CONSTANTS(:,146)))); RATES(:,26) = ALGEBRAIC(:,122) - ALGEBRAIC(:,127); RATES(:,30) = - ALGEBRAIC(:,125) - ALGEBRAIC(:,127); RATES(:,31) = ALGEBRAIC(:,125)+ALGEBRAIC(:,127); ALGEBRAIC(:,42) = CONSTANTS(:,123)+STATES(:,29); ALGEBRAIC(:,97) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,62).*ALGEBRAIC(:,42)); ALGEBRAIC(:,49) = CONSTANTS(:,126)+STATES(:,32)+STATES(:,51); ALGEBRAIC(:,103) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,65).*ALGEBRAIC(:,49)); ALGEBRAIC(:,129) = CONSTANTS(:,20).*(exp(ALGEBRAIC(:,89)./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp((ALGEBRAIC(:,97)+ALGEBRAIC(:,103))./( CONSTANTS(:,145).*CONSTANTS(:,146)))); RATES(:,27) = (ALGEBRAIC(:,125)+ALGEBRAIC(:,127)) - ALGEBRAIC(:,129); RATES(:,32) = ALGEBRAIC(:,129); ALGEBRAIC(:,55) = CONSTANTS(:,129)+STATES(:,35); ALGEBRAIC(:,109) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,68).*ALGEBRAIC(:,55)); ALGEBRAIC(:,61) = CONSTANTS(:,131)+STATES(:,37)+STATES(:,56); ALGEBRAIC(:,113) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,70).*ALGEBRAIC(:,61)); ALGEBRAIC(:,130) = CONSTANTS(:,22).*(exp((ALGEBRAIC(:,105)+ALGEBRAIC(:,113))./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp(ALGEBRAIC(:,109)./( CONSTANTS(:,145).*CONSTANTS(:,146)))); RATES(:,33) = ALGEBRAIC(:,125) - ALGEBRAIC(:,130); RATES(:,35) = ALGEBRAIC(:,130); ALGEBRAIC(:,132) = CONSTANTS(:,21).*(exp((ALGEBRAIC(:,97)+ALGEBRAIC(:,93))./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp(ALGEBRAIC(:,77)./( CONSTANTS(:,145).*CONSTANTS(:,146)))); RATES(:,23) = ( - ALGEBRAIC(:,119) - ALGEBRAIC(:,122))+ALGEBRAIC(:,132); RATES(:,28) = (ALGEBRAIC(:,125)+ALGEBRAIC(:,127)) - ALGEBRAIC(:,132); RATES(:,29) = ALGEBRAIC(:,129) - ALGEBRAIC(:,132); ALGEBRAIC(:,57) = CONSTANTS(:,130)+STATES(:,36); ALGEBRAIC(:,111) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,69).*ALGEBRAIC(:,57)); ALGEBRAIC(:,133) = CONSTANTS(:,23).*(exp((ALGEBRAIC(:,107)+ALGEBRAIC(:,113))./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp(ALGEBRAIC(:,111)./( CONSTANTS(:,145).*CONSTANTS(:,146)))); RATES(:,34) = ALGEBRAIC(:,127) - ALGEBRAIC(:,133); RATES(:,36) = ALGEBRAIC(:,133); RATES(:,37) = - ALGEBRAIC(:,130) - ALGEBRAIC(:,133); ALGEBRAIC(:,66) = CONSTANTS(:,133)+STATES(:,39); ALGEBRAIC(:,108) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,72).*ALGEBRAIC(:,66)); ALGEBRAIC(:,81) = CONSTANTS(:,137)+STATES(:,44); ALGEBRAIC(:,118) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,77).*ALGEBRAIC(:,81)); ALGEBRAIC(:,142) = CONSTANTS(:,25).*(exp(ALGEBRAIC(:,108)./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp(ALGEBRAIC(:,118)./( CONSTANTS(:,145).*CONSTANTS(:,146)))); RATES(:,39) = - ALGEBRAIC(:,142); ALGEBRAIC(:,63) = CONSTANTS(:,132)+STATES(:,38); ALGEBRAIC(:,106) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,71).*ALGEBRAIC(:,63)); ALGEBRAIC(:,72) = CONSTANTS(:,134)+STATES(:,41); ALGEBRAIC(:,112) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,74).*ALGEBRAIC(:,72)); ALGEBRAIC(:,141) = CONSTANTS(:,24).*(exp(ALGEBRAIC(:,106)./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp(ALGEBRAIC(:,112)./( CONSTANTS(:,145).*CONSTANTS(:,146)))); ALGEBRAIC(:,2) = piecewise({VOICONSTANTS(:,92) - CONSTANTS(:,94), CONSTANTS(:,96)+ CONSTANTS(:,150).*((VOI - CONSTANTS(:,92))+CONSTANTS(:,94)) , VOI>=CONSTANTS(:,92)&VOI=CONSTANTS(:,92)+CONSTANTS(:,93), CONSTANTS(:,96)+ - CONSTANTS(:,150).*(((VOI - CONSTANTS(:,92)) - CONSTANTS(:,94)) - CONSTANTS(:,93)) }, CONSTANTS(:,96)); ALGEBRAIC(:,69) = ALGEBRAIC(:,2)+STATES(:,40); ALGEBRAIC(:,110) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,73).*ALGEBRAIC(:,69)); ALGEBRAIC(:,145) = CONSTANTS(:,28).*(exp((ALGEBRAIC(:,106)+ALGEBRAIC(:,110))./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp(ALGEBRAIC(:,108)./( CONSTANTS(:,145).*CONSTANTS(:,146)))); RATES(:,38) = - ALGEBRAIC(:,141) - ALGEBRAIC(:,145); RATES(:,40) = - ALGEBRAIC(:,145); ALGEBRAIC(:,75) = CONSTANTS(:,135)+STATES(:,42); ALGEBRAIC(:,114) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,75).*ALGEBRAIC(:,75)); ALGEBRAIC(:,78) = CONSTANTS(:,136)+STATES(:,43); ALGEBRAIC(:,116) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,76).*ALGEBRAIC(:,78)); ALGEBRAIC(:,143) = CONSTANTS(:,26).*(exp((ALGEBRAIC(:,112)+ALGEBRAIC(:,114))./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp(ALGEBRAIC(:,116)./( CONSTANTS(:,145).*CONSTANTS(:,146)))); ALGEBRAIC(:,124) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,50).*ALGEBRAIC(:,23)); ALGEBRAIC(:,90) = CONSTANTS(:,139)+STATES(:,47); ALGEBRAIC(:,126) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,79).*ALGEBRAIC(:,90)); ALGEBRAIC(:,131) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,63).*ALGEBRAIC(:,45)); ALGEBRAIC(:,134) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,64).*ALGEBRAIC(:,47)); ALGEBRAIC(:,98) = CONSTANTS(:,141)+STATES(:,52); ALGEBRAIC(:,136) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,81).*ALGEBRAIC(:,98)); ALGEBRAIC(:,146) = CONSTANTS(:,29).*(exp((ALGEBRAIC(:,116)+ALGEBRAIC(:,131))./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp((ALGEBRAIC(:,124)+ALGEBRAIC(:,126)+ALGEBRAIC(:,136)+ALGEBRAIC(:,134))./( CONSTANTS(:,145).*CONSTANTS(:,146)))); RATES(:,43) = ALGEBRAIC(:,143) - ALGEBRAIC(:,146); ALGEBRAIC(:,86) = CONSTANTS(:,138)+STATES(:,45); ALGEBRAIC(:,121) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,78).*ALGEBRAIC(:,86)); ALGEBRAIC(:,144) = CONSTANTS(:,27).*(exp((ALGEBRAIC(:,118)+ALGEBRAIC(:,114))./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp(ALGEBRAIC(:,121)./( CONSTANTS(:,145).*CONSTANTS(:,146)))); RATES(:,44) = (ALGEBRAIC(:,142) - ALGEBRAIC(:,144))+ALGEBRAIC(:,145); ALGEBRAIC(:,148) = (ALGEBRAIC(:,143))+ALGEBRAIC(:,145); RATES(:,41) = (ALGEBRAIC(:,141) - ALGEBRAIC(:,143))+ 1.00000.*ALGEBRAIC(:,148); ALGEBRAIC(:,100) = CONSTANTS(:,142)+STATES(:,53); ALGEBRAIC(:,137) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,82).*ALGEBRAIC(:,100)); ALGEBRAIC(:,147) = CONSTANTS(:,30).*(exp((ALGEBRAIC(:,121)+ALGEBRAIC(:,131))./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp((ALGEBRAIC(:,124)+ALGEBRAIC(:,126)+ALGEBRAIC(:,137)+ALGEBRAIC(:,134))./( CONSTANTS(:,145).*CONSTANTS(:,146)))); RATES(:,45) = ALGEBRAIC(:,144) - ALGEBRAIC(:,147); RATES(:,49) = - ALGEBRAIC(:,146) - ALGEBRAIC(:,147); RATES(:,50) = ALGEBRAIC(:,146)+ALGEBRAIC(:,147); ALGEBRAIC(:,94) = CONSTANTS(:,140)+STATES(:,48); ALGEBRAIC(:,128) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,80).*ALGEBRAIC(:,94)); ALGEBRAIC(:,135) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,65).*ALGEBRAIC(:,49)); ALGEBRAIC(:,149) = CONSTANTS(:,31).*(exp(ALGEBRAIC(:,124)./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp((ALGEBRAIC(:,128)+ALGEBRAIC(:,135))./( CONSTANTS(:,145).*CONSTANTS(:,146)))); RATES(:,46) = (ALGEBRAIC(:,146)+ALGEBRAIC(:,147)) - ALGEBRAIC(:,149); RATES(:,51) = ALGEBRAIC(:,149); ALGEBRAIC(:,102) = CONSTANTS(:,143)+STATES(:,54); ALGEBRAIC(:,138) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,83).*ALGEBRAIC(:,102)); ALGEBRAIC(:,140) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,70).*ALGEBRAIC(:,61)); ALGEBRAIC(:,150) = CONSTANTS(:,33).*(exp((ALGEBRAIC(:,136)+ALGEBRAIC(:,140))./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp(ALGEBRAIC(:,138)./( CONSTANTS(:,145).*CONSTANTS(:,146)))); RATES(:,52) = ALGEBRAIC(:,146) - ALGEBRAIC(:,150); RATES(:,54) = ALGEBRAIC(:,150); ALGEBRAIC(:,151) = CONSTANTS(:,32).*(exp((ALGEBRAIC(:,128)+ALGEBRAIC(:,126))./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp(ALGEBRAIC(:,114)./( CONSTANTS(:,145).*CONSTANTS(:,146)))); RATES(:,42) = ( - ALGEBRAIC(:,143) - ALGEBRAIC(:,144))+ALGEBRAIC(:,151); RATES(:,47) = (ALGEBRAIC(:,146)+ALGEBRAIC(:,147)) - ALGEBRAIC(:,151); RATES(:,48) = ALGEBRAIC(:,149) - ALGEBRAIC(:,151); ALGEBRAIC(:,104) = CONSTANTS(:,144)+STATES(:,55); ALGEBRAIC(:,139) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,84).*ALGEBRAIC(:,104)); ALGEBRAIC(:,152) = CONSTANTS(:,34).*(exp((ALGEBRAIC(:,137)+ALGEBRAIC(:,140))./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp(ALGEBRAIC(:,139)./( CONSTANTS(:,145).*CONSTANTS(:,146)))); RATES(:,53) = ALGEBRAIC(:,147) - ALGEBRAIC(:,152); RATES(:,55) = ALGEBRAIC(:,152); RATES(:,56) = - ALGEBRAIC(:,150) - ALGEBRAIC(:,152); 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) = CONSTANTS(:,97)+STATES(:,1); ALGEBRAIC(:,29) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,35).*ALGEBRAIC(:,3)); ALGEBRAIC(:,5) = CONSTANTS(:,98)+STATES(:,3); ALGEBRAIC(:,33) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,37).*ALGEBRAIC(:,5)); ALGEBRAIC(:,6) = CONSTANTS(:,100)+STATES(:,4); ALGEBRAIC(:,35) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,38).*ALGEBRAIC(:,6)); ALGEBRAIC(:,70) = CONSTANTS(:,1).*(exp((ALGEBRAIC(:,33)+ALGEBRAIC(:,29))./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp(ALGEBRAIC(:,35)./( CONSTANTS(:,145).*CONSTANTS(:,146)))); ALGEBRAIC(:,4) = CONSTANTS(:,99)+STATES(:,2); ALGEBRAIC(:,31) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,36).*ALGEBRAIC(:,4)); ALGEBRAIC(:,26) = CONSTANTS(:,114)+STATES(:,18); ALGEBRAIC(:,67) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,52).*ALGEBRAIC(:,26)); ALGEBRAIC(:,73) = CONSTANTS(:,2).*(exp(ALGEBRAIC(:,35)./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp((ALGEBRAIC(:,33)+ALGEBRAIC(:,31)+ALGEBRAIC(:,67))./( CONSTANTS(:,145).*CONSTANTS(:,146)))); ALGEBRAIC(:,7) = CONSTANTS(:,105)+STATES(:,5); ALGEBRAIC(:,37) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,39).*ALGEBRAIC(:,7)); ALGEBRAIC(:,8) = CONSTANTS(:,106)+STATES(:,6); ALGEBRAIC(:,39) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,40).*ALGEBRAIC(:,8)); ALGEBRAIC(:,76) = CONSTANTS(:,3).*(exp((ALGEBRAIC(:,37)+ALGEBRAIC(:,29))./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp(ALGEBRAIC(:,39)./( CONSTANTS(:,145).*CONSTANTS(:,146)))); ALGEBRAIC(:,79) = CONSTANTS(:,4).*(exp(ALGEBRAIC(:,39)./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp((ALGEBRAIC(:,37)+ALGEBRAIC(:,31)+ALGEBRAIC(:,67))./( CONSTANTS(:,145).*CONSTANTS(:,146)))); ALGEBRAIC(:,9) = CONSTANTS(:,102)+STATES(:,7); ALGEBRAIC(:,41) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,41).*ALGEBRAIC(:,9)); ALGEBRAIC(:,10) = CONSTANTS(:,103)+STATES(:,8); ALGEBRAIC(:,43) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,42).*ALGEBRAIC(:,10)); ALGEBRAIC(:,82) = CONSTANTS(:,5).*(exp((ALGEBRAIC(:,41)+ALGEBRAIC(:,29))./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp(ALGEBRAIC(:,43)./( CONSTANTS(:,145).*CONSTANTS(:,146)))); ALGEBRAIC(:,84) = CONSTANTS(:,6).*(exp(ALGEBRAIC(:,43)./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp((ALGEBRAIC(:,41)+ALGEBRAIC(:,31)+ALGEBRAIC(:,67))./( CONSTANTS(:,145).*CONSTANTS(:,146)))); ALGEBRAIC(:,11) = CONSTANTS(:,107)+STATES(:,9); ALGEBRAIC(:,46) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,43).*ALGEBRAIC(:,11)); ALGEBRAIC(:,14) = CONSTANTS(:,109)+STATES(:,10); ALGEBRAIC(:,48) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,44).*ALGEBRAIC(:,14)); ALGEBRAIC(:,87) = CONSTANTS(:,7).*(exp((ALGEBRAIC(:,46)+ALGEBRAIC(:,31))./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp(ALGEBRAIC(:,48)./( CONSTANTS(:,145).*CONSTANTS(:,146)))); ALGEBRAIC(:,20) = CONSTANTS(:,104)+STATES(:,14)+STATES(:,27); ALGEBRAIC(:,56) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,48).*ALGEBRAIC(:,20)); ALGEBRAIC(:,88) = CONSTANTS(:,10).*(exp((ALGEBRAIC(:,33)+ALGEBRAIC(:,56))./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp(ALGEBRAIC(:,37)./( CONSTANTS(:,145).*CONSTANTS(:,146)))); ALGEBRAIC(:,21) = CONSTANTS(:,101)+STATES(:,15); ALGEBRAIC(:,58) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,49).*ALGEBRAIC(:,21)); ALGEBRAIC(:,92) = CONSTANTS(:,11).*(exp((ALGEBRAIC(:,58)+ALGEBRAIC(:,33))./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp(ALGEBRAIC(:,41)./( CONSTANTS(:,145).*CONSTANTS(:,146)))); ALGEBRAIC(:,15) = CONSTANTS(:,111)+STATES(:,11); ALGEBRAIC(:,50) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,45).*ALGEBRAIC(:,15)); ALGEBRAIC(:,91) = CONSTANTS(:,8).*(exp(ALGEBRAIC(:,48)./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp((ALGEBRAIC(:,46)+ALGEBRAIC(:,50))./( CONSTANTS(:,145).*CONSTANTS(:,146)))); ALGEBRAIC(:,23) = CONSTANTS(:,112)+STATES(:,16)+STATES(:,46); ALGEBRAIC(:,62) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,50).*ALGEBRAIC(:,23)); ALGEBRAIC(:,24) = CONSTANTS(:,113)+STATES(:,17); ALGEBRAIC(:,64) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,51).*ALGEBRAIC(:,24)); ALGEBRAIC(:,96) = CONSTANTS(:,12).*(exp((ALGEBRAIC(:,33)+ALGEBRAIC(:,62))./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp(ALGEBRAIC(:,64)./( CONSTANTS(:,145).*CONSTANTS(:,146)))); ALGEBRAIC(:,19) = CONSTANTS(:,108)+STATES(:,13); ALGEBRAIC(:,54) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,47).*ALGEBRAIC(:,19)); ALGEBRAIC(:,18) = CONSTANTS(:,110)+STATES(:,12); ALGEBRAIC(:,52) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,46).*ALGEBRAIC(:,18)); ALGEBRAIC(:,95) = CONSTANTS(:,9).*(exp((ALGEBRAIC(:,46)+ALGEBRAIC(:,52))./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp(ALGEBRAIC(:,54)./( CONSTANTS(:,145).*CONSTANTS(:,146)))); ALGEBRAIC(:,27) = CONSTANTS(:,116)+STATES(:,20); ALGEBRAIC(:,68) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,54).*ALGEBRAIC(:,27)); ALGEBRAIC(:,36) = CONSTANTS(:,120)+STATES(:,25); ALGEBRAIC(:,83) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,59).*ALGEBRAIC(:,36)); ALGEBRAIC(:,117) = CONSTANTS(:,14).*(exp(ALGEBRAIC(:,68)./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp(ALGEBRAIC(:,83)./( CONSTANTS(:,145).*CONSTANTS(:,146)))); ALGEBRAIC(:,25) = CONSTANTS(:,115)+STATES(:,19); ALGEBRAIC(:,65) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,53).*ALGEBRAIC(:,25)); ALGEBRAIC(:,1) = piecewise({VOICONSTANTS(:,87) - CONSTANTS(:,89), CONSTANTS(:,91)+ CONSTANTS(:,149).*((VOI - CONSTANTS(:,87))+CONSTANTS(:,89)) , VOI>=CONSTANTS(:,87)&VOI=CONSTANTS(:,87)+CONSTANTS(:,88), CONSTANTS(:,91)+ - CONSTANTS(:,149).*(((VOI - CONSTANTS(:,87)) - CONSTANTS(:,89)) - CONSTANTS(:,88)) }, CONSTANTS(:,91)); ALGEBRAIC(:,28) = ALGEBRAIC(:,1)+STATES(:,21); ALGEBRAIC(:,71) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,55).*ALGEBRAIC(:,28)); ALGEBRAIC(:,120) = CONSTANTS(:,17).*(exp((ALGEBRAIC(:,65)+ALGEBRAIC(:,71))./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp(ALGEBRAIC(:,68)./( CONSTANTS(:,145).*CONSTANTS(:,146)))); ALGEBRAIC(:,30) = CONSTANTS(:,117)+STATES(:,22); ALGEBRAIC(:,74) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,56).*ALGEBRAIC(:,30)); ALGEBRAIC(:,115) = CONSTANTS(:,13).*(exp(ALGEBRAIC(:,65)./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp(ALGEBRAIC(:,74)./( CONSTANTS(:,145).*CONSTANTS(:,146)))); ALGEBRAIC(:,32) = CONSTANTS(:,118)+STATES(:,23); ALGEBRAIC(:,77) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,57).*ALGEBRAIC(:,32)); ALGEBRAIC(:,34) = CONSTANTS(:,119)+STATES(:,24); ALGEBRAIC(:,80) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,58).*ALGEBRAIC(:,34)); ALGEBRAIC(:,119) = CONSTANTS(:,15).*(exp((ALGEBRAIC(:,74)+ALGEBRAIC(:,77))./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp(ALGEBRAIC(:,80)./( CONSTANTS(:,145).*CONSTANTS(:,146)))); ALGEBRAIC(:,123) = ALGEBRAIC(:,115)+ALGEBRAIC(:,120); ALGEBRAIC(:,38) = CONSTANTS(:,121)+STATES(:,26); ALGEBRAIC(:,85) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,60).*ALGEBRAIC(:,38)); ALGEBRAIC(:,122) = CONSTANTS(:,16).*(exp((ALGEBRAIC(:,83)+ALGEBRAIC(:,77))./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp(ALGEBRAIC(:,85)./( CONSTANTS(:,145).*CONSTANTS(:,146)))); ALGEBRAIC(:,89) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,48).*ALGEBRAIC(:,20)); ALGEBRAIC(:,40) = CONSTANTS(:,122)+STATES(:,28); ALGEBRAIC(:,93) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,61).*ALGEBRAIC(:,40)); ALGEBRAIC(:,45) = CONSTANTS(:,124)+STATES(:,30)+STATES(:,49); ALGEBRAIC(:,99) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,63).*ALGEBRAIC(:,45)); ALGEBRAIC(:,47) = CONSTANTS(:,125)+STATES(:,31)+STATES(:,50); ALGEBRAIC(:,101) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,64).*ALGEBRAIC(:,47)); ALGEBRAIC(:,51) = CONSTANTS(:,127)+STATES(:,33); ALGEBRAIC(:,105) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,66).*ALGEBRAIC(:,51)); ALGEBRAIC(:,125) = CONSTANTS(:,18).*(exp((ALGEBRAIC(:,80)+ALGEBRAIC(:,99))./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp((ALGEBRAIC(:,89)+ALGEBRAIC(:,93)+ALGEBRAIC(:,105)+ALGEBRAIC(:,101))./( CONSTANTS(:,145).*CONSTANTS(:,146)))); ALGEBRAIC(:,53) = CONSTANTS(:,128)+STATES(:,34); ALGEBRAIC(:,107) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,67).*ALGEBRAIC(:,53)); ALGEBRAIC(:,127) = CONSTANTS(:,19).*(exp((ALGEBRAIC(:,85)+ALGEBRAIC(:,99))./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp((ALGEBRAIC(:,89)+ALGEBRAIC(:,93)+ALGEBRAIC(:,107)+ALGEBRAIC(:,101))./( CONSTANTS(:,145).*CONSTANTS(:,146)))); ALGEBRAIC(:,42) = CONSTANTS(:,123)+STATES(:,29); ALGEBRAIC(:,97) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,62).*ALGEBRAIC(:,42)); ALGEBRAIC(:,49) = CONSTANTS(:,126)+STATES(:,32)+STATES(:,51); ALGEBRAIC(:,103) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,65).*ALGEBRAIC(:,49)); ALGEBRAIC(:,129) = CONSTANTS(:,20).*(exp(ALGEBRAIC(:,89)./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp((ALGEBRAIC(:,97)+ALGEBRAIC(:,103))./( CONSTANTS(:,145).*CONSTANTS(:,146)))); ALGEBRAIC(:,55) = CONSTANTS(:,129)+STATES(:,35); ALGEBRAIC(:,109) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,68).*ALGEBRAIC(:,55)); ALGEBRAIC(:,61) = CONSTANTS(:,131)+STATES(:,37)+STATES(:,56); ALGEBRAIC(:,113) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,70).*ALGEBRAIC(:,61)); ALGEBRAIC(:,130) = CONSTANTS(:,22).*(exp((ALGEBRAIC(:,105)+ALGEBRAIC(:,113))./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp(ALGEBRAIC(:,109)./( CONSTANTS(:,145).*CONSTANTS(:,146)))); ALGEBRAIC(:,132) = CONSTANTS(:,21).*(exp((ALGEBRAIC(:,97)+ALGEBRAIC(:,93))./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp(ALGEBRAIC(:,77)./( CONSTANTS(:,145).*CONSTANTS(:,146)))); ALGEBRAIC(:,57) = CONSTANTS(:,130)+STATES(:,36); ALGEBRAIC(:,111) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,69).*ALGEBRAIC(:,57)); ALGEBRAIC(:,133) = CONSTANTS(:,23).*(exp((ALGEBRAIC(:,107)+ALGEBRAIC(:,113))./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp(ALGEBRAIC(:,111)./( CONSTANTS(:,145).*CONSTANTS(:,146)))); ALGEBRAIC(:,66) = CONSTANTS(:,133)+STATES(:,39); ALGEBRAIC(:,108) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,72).*ALGEBRAIC(:,66)); ALGEBRAIC(:,81) = CONSTANTS(:,137)+STATES(:,44); ALGEBRAIC(:,118) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,77).*ALGEBRAIC(:,81)); ALGEBRAIC(:,142) = CONSTANTS(:,25).*(exp(ALGEBRAIC(:,108)./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp(ALGEBRAIC(:,118)./( CONSTANTS(:,145).*CONSTANTS(:,146)))); ALGEBRAIC(:,63) = CONSTANTS(:,132)+STATES(:,38); ALGEBRAIC(:,106) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,71).*ALGEBRAIC(:,63)); ALGEBRAIC(:,72) = CONSTANTS(:,134)+STATES(:,41); ALGEBRAIC(:,112) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,74).*ALGEBRAIC(:,72)); ALGEBRAIC(:,141) = CONSTANTS(:,24).*(exp(ALGEBRAIC(:,106)./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp(ALGEBRAIC(:,112)./( CONSTANTS(:,145).*CONSTANTS(:,146)))); ALGEBRAIC(:,2) = piecewise({VOICONSTANTS(:,92) - CONSTANTS(:,94), CONSTANTS(:,96)+ CONSTANTS(:,150).*((VOI - CONSTANTS(:,92))+CONSTANTS(:,94)) , VOI>=CONSTANTS(:,92)&VOI=CONSTANTS(:,92)+CONSTANTS(:,93), CONSTANTS(:,96)+ - CONSTANTS(:,150).*(((VOI - CONSTANTS(:,92)) - CONSTANTS(:,94)) - CONSTANTS(:,93)) }, CONSTANTS(:,96)); ALGEBRAIC(:,69) = ALGEBRAIC(:,2)+STATES(:,40); ALGEBRAIC(:,110) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,73).*ALGEBRAIC(:,69)); ALGEBRAIC(:,145) = CONSTANTS(:,28).*(exp((ALGEBRAIC(:,106)+ALGEBRAIC(:,110))./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp(ALGEBRAIC(:,108)./( CONSTANTS(:,145).*CONSTANTS(:,146)))); ALGEBRAIC(:,75) = CONSTANTS(:,135)+STATES(:,42); ALGEBRAIC(:,114) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,75).*ALGEBRAIC(:,75)); ALGEBRAIC(:,78) = CONSTANTS(:,136)+STATES(:,43); ALGEBRAIC(:,116) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,76).*ALGEBRAIC(:,78)); ALGEBRAIC(:,143) = CONSTANTS(:,26).*(exp((ALGEBRAIC(:,112)+ALGEBRAIC(:,114))./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp(ALGEBRAIC(:,116)./( CONSTANTS(:,145).*CONSTANTS(:,146)))); ALGEBRAIC(:,124) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,50).*ALGEBRAIC(:,23)); ALGEBRAIC(:,90) = CONSTANTS(:,139)+STATES(:,47); ALGEBRAIC(:,126) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,79).*ALGEBRAIC(:,90)); ALGEBRAIC(:,131) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,63).*ALGEBRAIC(:,45)); ALGEBRAIC(:,134) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,64).*ALGEBRAIC(:,47)); ALGEBRAIC(:,98) = CONSTANTS(:,141)+STATES(:,52); ALGEBRAIC(:,136) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,81).*ALGEBRAIC(:,98)); ALGEBRAIC(:,146) = CONSTANTS(:,29).*(exp((ALGEBRAIC(:,116)+ALGEBRAIC(:,131))./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp((ALGEBRAIC(:,124)+ALGEBRAIC(:,126)+ALGEBRAIC(:,136)+ALGEBRAIC(:,134))./( CONSTANTS(:,145).*CONSTANTS(:,146)))); ALGEBRAIC(:,86) = CONSTANTS(:,138)+STATES(:,45); ALGEBRAIC(:,121) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,78).*ALGEBRAIC(:,86)); ALGEBRAIC(:,144) = CONSTANTS(:,27).*(exp((ALGEBRAIC(:,118)+ALGEBRAIC(:,114))./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp(ALGEBRAIC(:,121)./( CONSTANTS(:,145).*CONSTANTS(:,146)))); ALGEBRAIC(:,148) = (ALGEBRAIC(:,143))+ALGEBRAIC(:,145); ALGEBRAIC(:,100) = CONSTANTS(:,142)+STATES(:,53); ALGEBRAIC(:,137) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,82).*ALGEBRAIC(:,100)); ALGEBRAIC(:,147) = CONSTANTS(:,30).*(exp((ALGEBRAIC(:,121)+ALGEBRAIC(:,131))./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp((ALGEBRAIC(:,124)+ALGEBRAIC(:,126)+ALGEBRAIC(:,137)+ALGEBRAIC(:,134))./( CONSTANTS(:,145).*CONSTANTS(:,146)))); ALGEBRAIC(:,94) = CONSTANTS(:,140)+STATES(:,48); ALGEBRAIC(:,128) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,80).*ALGEBRAIC(:,94)); ALGEBRAIC(:,135) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,65).*ALGEBRAIC(:,49)); ALGEBRAIC(:,149) = CONSTANTS(:,31).*(exp(ALGEBRAIC(:,124)./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp((ALGEBRAIC(:,128)+ALGEBRAIC(:,135))./( CONSTANTS(:,145).*CONSTANTS(:,146)))); ALGEBRAIC(:,102) = CONSTANTS(:,143)+STATES(:,54); ALGEBRAIC(:,138) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,83).*ALGEBRAIC(:,102)); ALGEBRAIC(:,140) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,70).*ALGEBRAIC(:,61)); ALGEBRAIC(:,150) = CONSTANTS(:,33).*(exp((ALGEBRAIC(:,136)+ALGEBRAIC(:,140))./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp(ALGEBRAIC(:,138)./( CONSTANTS(:,145).*CONSTANTS(:,146)))); ALGEBRAIC(:,151) = CONSTANTS(:,32).*(exp((ALGEBRAIC(:,128)+ALGEBRAIC(:,126))./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp(ALGEBRAIC(:,114)./( CONSTANTS(:,145).*CONSTANTS(:,146)))); ALGEBRAIC(:,104) = CONSTANTS(:,144)+STATES(:,55); ALGEBRAIC(:,139) = CONSTANTS(:,145).*CONSTANTS(:,146).*log( CONSTANTS(:,84).*ALGEBRAIC(:,104)); ALGEBRAIC(:,152) = CONSTANTS(:,34).*(exp((ALGEBRAIC(:,137)+ALGEBRAIC(:,140))./( CONSTANTS(:,145).*CONSTANTS(:,146))) - exp(ALGEBRAIC(:,139)./( CONSTANTS(:,145).*CONSTANTS(:,146)))); ALGEBRAIC(:,12) = ALGEBRAIC(:,3)+ALGEBRAIC(:,6)+ALGEBRAIC(:,10)+ALGEBRAIC(:,8); ALGEBRAIC(:,13) = ALGEBRAIC(:,5)+ALGEBRAIC(:,6)+ALGEBRAIC(:,9)+ALGEBRAIC(:,10)+ALGEBRAIC(:,7)+ALGEBRAIC(:,8); ALGEBRAIC(:,16) = ALGEBRAIC(:,4)+ALGEBRAIC(:,14)+STATES(:,11); ALGEBRAIC(:,17) = ALGEBRAIC(:,4)+ALGEBRAIC(:,14)+ALGEBRAIC(:,15)+ALGEBRAIC(:,3)+ALGEBRAIC(:,6)+ALGEBRAIC(:,8)+ALGEBRAIC(:,10); ALGEBRAIC(:,22) = ALGEBRAIC(:,20)+ALGEBRAIC(:,7)+ALGEBRAIC(:,8); ALGEBRAIC(:,44) = ALGEBRAIC(:,32)+ALGEBRAIC(:,34)+ALGEBRAIC(:,38)+ALGEBRAIC(:,20)+ALGEBRAIC(:,42); ALGEBRAIC(:,59) = ALGEBRAIC(:,27)+ALGEBRAIC(:,28)+ALGEBRAIC(:,38)+ALGEBRAIC(:,36)+ALGEBRAIC(:,53)+ALGEBRAIC(:,57); ALGEBRAIC(:,60) = ALGEBRAIC(:,25)+ALGEBRAIC(:,27)+ALGEBRAIC(:,30)+ALGEBRAIC(:,34)+ALGEBRAIC(:,36)+ALGEBRAIC(:,38)+ALGEBRAIC(:,51)+ALGEBRAIC(:,53)+ALGEBRAIC(:,55)+ALGEBRAIC(:,57); 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