static char mc_version[] = "MATLAB Compiler 1.2.1 Jan 21 1999 infun"; /* * MATLAB Compiler: 1.2.1 * Date: Jan 21 1999 * Arguments: -m -Z -i -r -w rcvsim simulate intact_init_cond hlu_init_cond sc_init_cond lv_init_cond init_cond nac_init_cond third_init_cond third_nac_init_cond apr_init_cond a_init_cond rk4 intact_eval_deriv hlu_eval_deriv sc_eval_deriv lv_eval_deriv eval_deriv third_eval_deriv nac_eval_deriv third_nac_eval_deriv apr_eval_deriv a_eval_deriv var_cap var_vcap var_acap vent_vol resp_act rand_int_breath abreflex dncm_filt ilv_dec cpreflex ans_filt oneoverf_filt bl_filt sinc read_param conserve_vol param_change */ #ifdef __cplusplus extern "C" { #endif #ifndef ARRAY_ACCESS_INLINING #error You must use the -inline option when compiling MATLAB compiler generated code with MEX or MBUILD #endif #ifndef MATLAB_COMPILER_GENERATED_CODE #define MATLAB_COMPILER_GENERATED_CODE #endif #include #include "matrix.h" #include "mcc.h" #include "matlab.h" static void read_param_(mxArray *,mxArray *, int); static void simulate_(mxArray *,mxArray *,mxArray *,mxArray *,mxArray *,mxArray *,mxArray *,mxArray *, mxArray *, mxArray *, mxArray *, mxArray *, mxArray *); static int _thunk_C_0_2( mlfFuncp pFunc, int nlhs, mxArray **lhs, int nrhs, mxArray **rhs ) { typedef void (*PFCN_0_2)( mxArray * , mxArray * ); if ( nlhs > 0 || nrhs > 2 ) { return(0); } (*((PFCN_0_2)pFunc))( nrhs > 0 ? rhs[0] : NULL, nrhs > 1 ? rhs[1] : NULL ); return(1); } extern void mlfPlot_cfvr( mxArray * , mxArray * ); static int _thunk_C_0_4( mlfFuncp pFunc, int nlhs, mxArray **lhs, int nrhs, mxArray **rhs ) { typedef void (*PFCN_0_4)( mxArray * , mxArray * , mxArray * , mxArray * ); if ( nlhs > 0 || nrhs > 4 ) { return(0); } (*((PFCN_0_4)pFunc))( nrhs > 0 ? rhs[0] : NULL, nrhs > 1 ? rhs[1] : NULL, nrhs > 2 ? rhs[2] : NULL, nrhs > 3 ? rhs[3] : NULL ); return(1); } extern void mlfWave_remote( mxArray * , mxArray * , mxArray * , mxArray * ); static int _thunk_C_1_0( mlfFuncp pFunc, int nlhs, mxArray **lhs, int nrhs, mxArray **rhs ) { typedef mxArray * (*PFCN_1_0)( void ); mxArray *Out; if ( nlhs > 1 || nrhs > 0 ) { return(0); } Out = (*((PFCN_1_0)pFunc))( ); if (nlhs > 0) { lhs[0] = Out; } else { mxDestroyArray( Out ); } return(1); } extern mxArray * mlfRead_key( void ); extern void mlfWrite_param( mxArray * , mxArray * ); static mlfFuncTabEnt MFuncTab[] = { { "plot_cfvr", (mlfFuncp) mlfPlot_cfvr, _thunk_C_0_2 }, { "wave_remote", (mlfFuncp) mlfWave_remote, _thunk_C_0_4 }, { "read_key", (mlfFuncp) mlfRead_key, _thunk_C_1_0 }, { "write_param", (mlfFuncp) mlfWrite_param, _thunk_C_0_2 }, { 0, 0, 0 } }; static mlfFuncTab *mlfUfuncTable = MFuncTab; void mlfWrite_param( mxArray *, mxArray * ); void mlfPlot_cfvr( mxArray *, mxArray * ); /* static array S0_ (1 x 38) text, line 19: 'Usage: rcvsim parameterfi...' */ static unsigned short S0__r_[] = { 85, 115, 97, 103, 101, 58, 32, 114, 99, 118, 115, 105, 109, 32, 112, 97, 114, 97, 109, 101, 116, 101, 114, 102, 105, 108, 101, 32, 111, 117, 116, 112, 117, 116, 102, 105, 108, 101, }; static mxArray S0_ = mccCINIT( mccTEXT, 1, 38, S0__r_, 0); /* static array S1_ (1 x 25) text, line 20: ' rcvsim -h for help...' */ static unsigned short S1__r_[] = { 32, 32, 32, 32, 32, 32, 32, 114, 99, 118, 115, 105, 109, 32, 45, 104, 32, 102, 111, 114, 32, 104, 101, 108, 112, }; static mxArray S1_ = mccCINIT( mccTEXT, 1, 25, S1__r_, 0); /* static array S2_ (1 x 2) text, line 22: '-h' */ static unsigned short S2__r_[] = { 45, 104, }; static mxArray S2_ = mccCINIT( mccTEXT, 1, 2, S2__r_, 0); /* static array S3_ (1 x 57) text, line 24: 'The function rcvsim execu...' */ static unsigned short S3__r_[] = { 84, 104, 101, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 99, 118, 115, 105, 109, 32, 101, 120, 101, 99, 117, 116, 101, 115, 32, 97, 32, 99, 111, 109, 112, 117, 116, 97, 116, 105, 111, 110, 97, 108, 32, 109, 111, 100, 101, 108, 32, 111, 102, 32, 116, 104, 101, }; static mxArray S3_ = mccCINIT( mccTEXT, 1, 57, S3__r_, 0); /* static array S4_ (1 x 56) text, line 25: 'cardiovascular system. T...' */ static unsigned short S4__r_[] = { 99, 97, 114, 100, 105, 111, 118, 97, 115, 99, 117, 108, 97, 114, 32, 115, 121, 115, 116, 101, 109, 46, 32, 32, 84, 104, 101, 32, 109, 111, 100, 101, 108, 32, 105, 110, 99, 108, 117, 100, 101, 115, 32, 116, 104, 101, 32, 102, 111, 108, 108, 111, 119, 105, 110, 103, }; static mxArray S4_ = mccCINIT( mccTEXT, 1, 56, S4__r_, 0); /* static array S5_ (1 x 11) text, line 26: 'components:' */ static unsigned short S5__r_[] = { 99, 111, 109, 112, 111, 110, 101, 110, 116, 115, 58, }; static mxArray S5_ = mccCINIT( mccTEXT, 1, 11, S5__r_, 0); /* static array S6_ (1 x 61) text, line 27: '1) lumped parameter, puls...' */ static unsigned short S6__r_[] = { 49, 41, 32, 108, 117, 109, 112, 101, 100, 32, 112, 97, 114, 97, 109, 101, 116, 101, 114, 44, 32, 112, 117, 108, 115, 97, 116, 105, 108, 101, 32, 104, 101, 97, 114, 116, 32, 97, 110, 100, 32, 99, 105, 114, 99, 117, 108, 97, 116, 105, 111, 110, 32, 40, 105, 110, 116, 97, 99, 116, 44, }; static mxArray S6_ = mccCINIT( mccTEXT, 1, 61, S6__r_, 0); /* static array S7_ (1 x 44) text, line 28: ' heart-lung unit, or sy...' */ static unsigned short S7__r_[] = { 32, 32, 32, 104, 101, 97, 114, 116, 45, 108, 117, 110, 103, 32, 117, 110, 105, 116, 44, 32, 111, 114, 32, 115, 121, 115, 116, 101, 109, 105, 99, 32, 99, 105, 114, 99, 117, 108, 97, 116, 105, 111, 110, 41, }; static mxArray S7_ = mccCINIT( mccTEXT, 1, 44, S7__r_, 0); /* static array S8_ (1 x 31) text, line 29: '2) short-term regulatory ...' */ static unsigned short S8__r_[] = { 50, 41, 32, 115, 104, 111, 114, 116, 45, 116, 101, 114, 109, 32, 114, 101, 103, 117, 108, 97, 116, 111, 114, 121, 32, 115, 121, 115, 116, 101, 109, }; static mxArray S8_ = mccCINIT( mccTEXT, 1, 31, S8__r_, 0); /* static array S9_ (1 x 32) text, line 30: ' a) arterial baroreflex...' */ static unsigned short S9__r_[] = { 32, 32, 32, 97, 41, 32, 97, 114, 116, 101, 114, 105, 97, 108, 32, 98, 97, 114, 111, 114, 101, 102, 108, 101, 120, 32, 115, 121, 115, 116, 101, 109, }; static mxArray S9_ = mccCINIT( mccTEXT, 1, 32, S9__r_, 0); /* static array S10_ (1 x 39) text, line 31: ' b) cardiopulmonary bar...' */ static unsigned short S10__r_[] = { 32, 32, 32, 98, 41, 32, 99, 97, 114, 100, 105, 111, 112, 117, 108, 109, 111, 110, 97, 114, 121, 32, 98, 97, 114, 111, 114, 101, 102, 108, 101, 120, 32, 115, 121, 115, 116, 101, 109, }; static mxArray S10_ = mccCINIT( mccTEXT, 1, 39, S10__r_, 0); /* static array S11_ (1 x 58) text, line 32: ' c) direct neural coupl...' */ static unsigned short S11__r_[] = { 32, 32, 32, 99, 41, 32, 100, 105, 114, 101, 99, 116, 32, 110, 101, 117, 114, 97, 108, 32, 99, 111, 117, 112, 108, 105, 110, 103, 32, 109, 101, 99, 104, 97, 110, 105, 115, 109, 32, 98, 101, 116, 119, 101, 101, 110, 32, 114, 101, 115, 112, 105, 114, 97, 116, 105, 111, 110, }; static mxArray S11_ = mccCINIT( mccTEXT, 1, 58, S11__r_, 0); /* static array S12_ (1 x 20) text, line 33: ' and heart rate' */ static unsigned short S12__r_[] = { 32, 32, 32, 32, 32, 32, 97, 110, 100, 32, 104, 101, 97, 114, 116, 32, 114, 97, 116, 101, }; static mxArray S12_ = mccCINIT( mccTEXT, 1, 20, S12__r_, 0); /* static array S13_ (1 x 36) text, line 34: '3) resting physiologic pe...' */ static unsigned short S13__r_[] = { 51, 41, 32, 114, 101, 115, 116, 105, 110, 103, 32, 112, 104, 121, 115, 105, 111, 108, 111, 103, 105, 99, 32, 112, 101, 114, 116, 117, 114, 98, 97, 116, 105, 111, 110, 115, }; static mxArray S13_ = mccCINIT( mccTEXT, 1, 36, S13__r_, 0); /* static array S14_ (1 x 17) text, line 35: ' a) respiration' */ static unsigned short S14__r_[] = { 32, 32, 32, 97, 41, 32, 114, 101, 115, 112, 105, 114, 97, 116, 105, 111, 110, }; static mxArray S14_ = mccCINIT( mccTEXT, 1, 17, S14__r_, 0); /* static array S15_ (1 x 43) text, line 36: ' b) autoregulation of l...' */ static unsigned short S15__r_[] = { 32, 32, 32, 98, 41, 32, 97, 117, 116, 111, 114, 101, 103, 117, 108, 97, 116, 105, 111, 110, 32, 111, 102, 32, 108, 111, 99, 97, 108, 32, 118, 97, 115, 99, 117, 108, 97, 114, 32, 98, 101, 100, 115, }; static mxArray S15_ = mccCINIT( mccTEXT, 1, 43, S15__r_, 0); /* static array S16_ (1 x 63) text, line 37: ' (bandlimited distur...' */ static unsigned short S16__r_[] = { 32, 32, 32, 32, 32, 32, 40, 98, 97, 110, 100, 108, 105, 109, 105, 116, 101, 100, 32, 100, 105, 115, 116, 117, 114, 98, 97, 110, 99, 101, 32, 116, 111, 32, 115, 121, 115, 116, 101, 109, 105, 99, 32, 97, 114, 116, 101, 114, 105, 97, 108, 32, 114, 101, 115, 105, 115, 116, 97, 110, 99, 101, 41, }; static mxArray S16_ = mccCINIT( mccTEXT, 1, 63, S16__r_, 0); /* static array S17_ (1 x 35) text, line 38: ' c) 1/f disturbance to ...' */ static unsigned short S17__r_[] = { 32, 32, 32, 99, 41, 32, 49, 47, 102, 32, 100, 105, 115, 116, 117, 114, 98, 97, 110, 99, 101, 32, 116, 111, 32, 104, 101, 97, 114, 116, 32, 114, 97, 116, 101, }; static mxArray S17_ = mccCINIT( mccTEXT, 1, 35, S17__r_, 0); /* static array S18_ (1 x 1) text, line 39: ' ' */ static unsigned short S18__r_[] = { 32, }; static mxArray S18_ = mccCINIT( mccTEXT, 1, 1, S18__r_, 0); /* static array S19_ (1 x 23) text, line 40: 'Command line arguments:' */ static unsigned short S19__r_[] = { 67, 111, 109, 109, 97, 110, 100, 32, 108, 105, 110, 101, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 58, }; static mxArray S19_ = mccCINIT( mccTEXT, 1, 23, S19__r_, 0); /* static array S20_ (1 x 1) text, line 41: ' ' */ static unsigned short S20__r_[] = { 32, }; static mxArray S20_ = mccCINIT( mccTEXT, 1, 1, S20__r_, 0); /* static array S21_ (1 x 31) text, line 42: 'rcvsim parameterfile outp...' */ static unsigned short S21__r_[] = { 114, 99, 118, 115, 105, 109, 32, 112, 97, 114, 97, 109, 101, 116, 101, 114, 102, 105, 108, 101, 32, 111, 117, 116, 112, 117, 116, 102, 105, 108, 101, }; static mxArray S21_ = mccCINIT( mccTEXT, 1, 31, S21__r_, 0); /* static array S22_ (1 x 1) text, line 43: ' ' */ static unsigned short S22__r_[] = { 32, }; static mxArray S22_ = mccCINIT( mccTEXT, 1, 1, S22__r_, 0); /* static array S23_ (1 x 5) text, line 44: 'where' */ static unsigned short S23__r_[] = { 119, 104, 101, 114, 101, }; static mxArray S23_ = mccCINIT( mccTEXT, 1, 5, S23__r_, 0); /* static array S24_ (1 x 1) text, line 45: ' ' */ static unsigned short S24__r_[] = { 32, }; static mxArray S24_ = mccCINIT( mccTEXT, 1, 1, S24__r_, 0); /* static array S25_ (1 x 73) text, line 46: 'parameterfile - name of w...' */ static unsigned short S25__r_[] = { 112, 97, 114, 97, 109, 101, 116, 101, 114, 102, 105, 108, 101, 32, 45, 32, 110, 97, 109, 101, 32, 111, 102, 32, 119, 111, 114, 107, 105, 110, 103, 32, 102, 105, 108, 101, 32, 119, 104, 105, 99, 104, 32, 99, 111, 110, 116, 97, 105, 110, 115, 32, 116, 104, 101, 32, 99, 117, 114, 114, 101, 110, 116, 32, 112, 97, 114, 97, 109, 101, 116, 101, 114, }; static mxArray S25_ = mccCINIT( mccTEXT, 1, 73, S25__r_, 0); /* static array S26_ (1 x 78) text, line 47: ' values ch...' */ static unsigned short S26__r_[] = { 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 108, 117, 101, 115, 32, 99, 104, 97, 114, 97, 99, 116, 101, 114, 105, 122, 105, 110, 103, 32, 116, 104, 101, 32, 109, 111, 100, 101, 108, 32, 40, 109, 117, 115, 116, 32, 98, 101, 32, 105, 110, 32, 99, 117, 114, 114, 101, 110, 116, 32, 100, 105, 114, 101, 99, 116, 111, 114, 121, 41, }; static mxArray S26_ = mccCINIT( mccTEXT, 1, 78, S26__r_, 0); /* static array S27_ (1 x 65) text, line 48: ' outputfile - prefix of...' */ static unsigned short S27__r_[] = { 32, 32, 32, 111, 117, 116, 112, 117, 116, 102, 105, 108, 101, 32, 45, 32, 112, 114, 101, 102, 105, 120, 32, 111, 102, 32, 116, 104, 101, 32, 111, 117, 116, 112, 117, 116, 32, 102, 105, 108, 101, 115, 32, 103, 101, 110, 101, 114, 97, 116, 101, 100, 32, 98, 121, 32, 116, 104, 101, 32, 109, 111, 100, 101, 108, }; static mxArray S27_ = mccCINIT( mccTEXT, 1, 65, S27__r_, 0); /* static array S28_ (1 x 1) text, line 49: ' ' */ static unsigned short S28__r_[] = { 32, }; static mxArray S28_ = mccCINIT( mccTEXT, 1, 1, S28__r_, 0); /* static array S29_ (1 x 2) text, line 50: 'or' */ static unsigned short S29__r_[] = { 111, 114, }; static mxArray S29_ = mccCINIT( mccTEXT, 1, 2, S29__r_, 0); /* static array S30_ (1 x 1) text, line 51: ' ' */ static unsigned short S30__r_[] = { 32, }; static mxArray S30_ = mccCINIT( mccTEXT, 1, 1, S30__r_, 0); /* static array S31_ (1 x 18) text, line 52: 'rcvsim -h for help' */ static unsigned short S31__r_[] = { 114, 99, 118, 115, 105, 109, 32, 45, 104, 32, 102, 111, 114, 32, 104, 101, 108, 112, }; static mxArray S31_ = mccCINIT( mccTEXT, 1, 18, S31__r_, 0); /* static array S32_ (1 x 1) text, line 53: ' ' */ static unsigned short S32__r_[] = { 32, }; static mxArray S32_ = mccCINIT( mccTEXT, 1, 1, S32__r_, 0); /* static array S33_ (1 x 13) text, line 54: 'Output files:' */ static unsigned short S33__r_[] = { 79, 117, 116, 112, 117, 116, 32, 102, 105, 108, 101, 115, 58, }; static mxArray S33_ = mccCINIT( mccTEXT, 1, 13, S33__r_, 0); /* static array S34_ (1 x 1) text, line 55: ' ' */ static unsigned short S34__r_[] = { 32, }; static mxArray S34_ = mccCINIT( mccTEXT, 1, 1, S34__r_, 0); /* static array S35_ (1 x 69) text, line 56: ' outputfile.dat - binar...' */ static unsigned short S35__r_[] = { 32, 32, 32, 111, 117, 116, 112, 117, 116, 102, 105, 108, 101, 46, 100, 97, 116, 32, 45, 32, 98, 105, 110, 97, 114, 121, 32, 102, 105, 108, 101, 32, 40, 77, 73, 84, 32, 102, 111, 114, 109, 97, 116, 32, 45, 45, 32, 115, 104, 111, 114, 116, 115, 41, 32, 99, 111, 110, 116, 97, 105, 110, 105, 110, 103, 32, 97, 108, 108, }; static mxArray S35_ = mccCINIT( mccTEXT, 1, 69, S35__r_, 0); /* static array S36_ (1 x 39) text, line 57: ' gener...' */ static unsigned short S36__r_[] = { 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, 101, 110, 101, 114, 97, 116, 101, 100, 32, 119, 97, 118, 101, 102, 111, 114, 109, 115, }; static mxArray S36_ = mccCINIT( mccTEXT, 1, 39, S36__r_, 0); /* static array S37_ (1 x 53) text, line 58: ' outputfile.qrs - qrs a...' */ static unsigned short S37__r_[] = { 32, 32, 32, 111, 117, 116, 112, 117, 116, 102, 105, 108, 101, 46, 113, 114, 115, 32, 45, 32, 113, 114, 115, 32, 97, 110, 110, 111, 116, 97, 116, 105, 111, 110, 115, 32, 102, 105, 108, 101, 32, 40, 77, 73, 84, 32, 102, 111, 114, 109, 97, 116, 41, }; static mxArray S37_ = mccCINIT( mccTEXT, 1, 53, S37__r_, 0); /* static array S38_ (1 x 68) text, line 59: ' outputfile.hea - heade...' */ static unsigned short S38__r_[] = { 32, 32, 32, 111, 117, 116, 112, 117, 116, 102, 105, 108, 101, 46, 104, 101, 97, 32, 45, 32, 104, 101, 97, 100, 101, 114, 32, 102, 105, 108, 101, 32, 40, 77, 73, 84, 32, 102, 111, 114, 109, 97, 116, 41, 32, 100, 101, 115, 99, 114, 105, 98, 105, 110, 103, 32, 116, 104, 101, 32, 99, 111, 110, 116, 101, 110, 116, 115, }; static mxArray S38_ = mccCINIT( mccTEXT, 1, 68, S38__r_, 0); /* static array S39_ (1 x 37) text, line 60: ' of ou...' */ static unsigned short S39__r_[] = { 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 111, 102, 32, 111, 117, 116, 112, 117, 116, 102, 105, 108, 101, 46, 100, 97, 116, }; static mxArray S39_ = mccCINIT( mccTEXT, 1, 37, S39__r_, 0); /* static array S40_ (1 x 64) text, line 61: ' outputfile.txt - ascii...' */ static unsigned short S40__r_[] = { 32, 32, 32, 111, 117, 116, 112, 117, 116, 102, 105, 108, 101, 46, 116, 120, 116, 32, 45, 32, 97, 115, 99, 105, 105, 44, 32, 109, 117, 108, 116, 105, 45, 99, 111, 108, 117, 109, 110, 32, 102, 105, 108, 101, 32, 114, 101, 112, 114, 101, 115, 101, 110, 116, 105, 110, 103, 32, 101, 105, 116, 104, 101, 114, }; static mxArray S40_ = mccCINIT( mccTEXT, 1, 64, S40__r_, 0); /* static array S41_ (1 x 60) text, line 62: ' cardi...' */ static unsigned short S41__r_[] = { 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 114, 100, 105, 97, 99, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 111, 114, 32, 118, 101, 110, 111, 117, 115, 32, 114, 101, 116, 117, 114, 110, 32, 99, 117, 114, 118, 101, 115, }; static mxArray S41_ = mccCINIT( mccTEXT, 1, 60, S41__r_, 0); /* static array S42_ (1 x 60) text, line 63: 'parameterfile.num - param...' */ static unsigned short S42__r_[] = { 112, 97, 114, 97, 109, 101, 116, 101, 114, 102, 105, 108, 101, 46, 110, 117, 109, 32, 45, 32, 112, 97, 114, 97, 109, 101, 116, 101, 114, 32, 102, 105, 108, 101, 32, 99, 104, 97, 114, 97, 99, 116, 101, 114, 105, 122, 105, 110, 103, 32, 101, 120, 101, 99, 117, 116, 105, 111, 110, 59, }; static mxArray S42_ = mccCINIT( mccTEXT, 1, 60, S42__r_, 0); /* static array S43_ (1 x 70) text, line 64: ' creat...' */ static unsigned short S43__r_[] = { 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 114, 101, 97, 116, 101, 100, 32, 97, 102, 116, 101, 114, 32, 101, 97, 99, 104, 32, 112, 97, 114, 97, 109, 101, 116, 101, 114, 32, 117, 112, 100, 97, 116, 101, 32, 98, 101, 103, 105, 110, 110, 105, 110, 103, 32, 119, 105, 116, 104, }; static mxArray S43_ = mccCINIT( mccTEXT, 1, 70, S43__r_, 0); /* static array S44_ (1 x 59) text, line 65: ' the i...' */ static unsigned short S44__r_[] = { 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 101, 32, 105, 110, 105, 116, 105, 97, 108, 32, 99, 104, 111, 105, 99, 101, 32, 111, 102, 32, 118, 97, 108, 117, 101, 115, 32, 40, 110, 117, 109, 32, 61, 32, 48, 41, 59, }; static mxArray S44_ = mccCINIT( mccTEXT, 1, 59, S44__r_, 0); /* static array S45_ (1 x 61) text, line 66: ' see a...' */ static unsigned short S45__r_[] = { 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 101, 32, 97, 117, 120, 32, 105, 110, 102, 111, 114, 109, 97, 116, 105, 111, 110, 32, 105, 110, 32, 111, 117, 116, 112, 117, 116, 102, 105, 108, 101, 46, 113, 114, 115, 32, 102, 111, 114, }; static mxArray S45_ = mccCINIT( mccTEXT, 1, 61, S45__r_, 0); /* static array S46_ (1 x 58) text, line 67: ' for t...' */ static unsigned short S46__r_[] = { 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 116, 105, 109, 101, 32, 105, 110, 32, 119, 104, 105, 99, 104, 32, 116, 104, 105, 115, 32, 102, 105, 108, 101, 32, 105, 115, 32, 99, 114, 101, 97, 116, 101, 100, }; static mxArray S46_ = mccCINIT( mccTEXT, 1, 58, S46__r_, 0); /* static array S47_ (1 x 1) text, line 68: ' ' */ static unsigned short S47__r_[] = { 32, }; static mxArray S47_ = mccCINIT( mccTEXT, 1, 1, S47__r_, 0); /* static array S48_ (1 x 23) text, line 69: 'During on-line viewing,' */ static unsigned short S48__r_[] = { 68, 117, 114, 105, 110, 103, 32, 111, 110, 45, 108, 105, 110, 101, 32, 118, 105, 101, 119, 105, 110, 103, 44, }; static mxArray S48_ = mccCINIT( mccTEXT, 1, 23, S48__r_, 0); /* static array S49_ (1 x 1) text, line 70: ' ' */ static unsigned short S49__r_[] = { 32, }; static mxArray S49_ = mccCINIT( mccTEXT, 1, 1, S49__r_, 0); /* static array S50_ (1 x 45) text, line 71: 'Press p and RETURN at sta...' */ static unsigned short S50__r_[] = { 80, 114, 101, 115, 115, 32, 112, 32, 97, 110, 100, 32, 82, 69, 84, 85, 82, 78, 32, 97, 116, 32, 115, 116, 97, 110, 100, 97, 114, 100, 32, 105, 110, 112, 117, 116, 32, 116, 111, 32, 112, 97, 117, 115, 101, }; static mxArray S50_ = mccCINIT( mccTEXT, 1, 45, S50__r_, 0); /* static array S51_ (1 x 1) text, line 72: ' ' */ static unsigned short S51__r_[] = { 32, }; static mxArray S51_ = mccCINIT( mccTEXT, 1, 1, S51__r_, 0); /* static array S52_ (1 x 54) text, line 73: 'Once paused, the followin...' */ static unsigned short S52__r_[] = { 79, 110, 99, 101, 32, 112, 97, 117, 115, 101, 100, 44, 32, 116, 104, 101, 32, 102, 111, 108, 108, 111, 119, 105, 110, 103, 32, 97, 99, 116, 105, 111, 110, 115, 32, 109, 97, 121, 32, 98, 101, 32, 99, 97, 114, 114, 105, 101, 100, 32, 111, 117, 116, 58, }; static mxArray S52_ = mccCINIT( mccTEXT, 1, 54, S52__r_, 0); /* static array S53_ (1 x 41) text, line 74: '1) scrolling backwards wi...' */ static unsigned short S53__r_[] = { 49, 41, 32, 115, 99, 114, 111, 108, 108, 105, 110, 103, 32, 98, 97, 99, 107, 119, 97, 114, 100, 115, 32, 119, 105, 116, 104, 32, 97, 114, 114, 111, 119, 32, 98, 117, 116, 116, 111, 110, 115, }; static mxArray S53_ = mccCINIT( mccTEXT, 1, 41, S53__r_, 0); /* static array S54_ (1 x 60) text, line 75: '2) plotting waveforms aga...' */ static unsigned short S54__r_[] = { 50, 41, 32, 112, 108, 111, 116, 116, 105, 110, 103, 32, 119, 97, 118, 101, 102, 111, 114, 109, 115, 32, 97, 103, 97, 105, 110, 115, 116, 32, 101, 97, 99, 104, 32, 111, 116, 104, 101, 114, 32, 98, 121, 32, 99, 108, 105, 99, 107, 105, 110, 103, 32, 111, 110, 32, 70, 105, 108, 101, }; static mxArray S54_ = mccCINIT( mccTEXT, 1, 60, S54__r_, 0); /* static array S55_ (1 x 57) text, line 76: ' (with the right mouse)...' */ static unsigned short S55__r_[] = { 32, 32, 32, 40, 119, 105, 116, 104, 32, 116, 104, 101, 32, 114, 105, 103, 104, 116, 32, 109, 111, 117, 115, 101, 41, 44, 32, 116, 104, 101, 110, 44, 32, 65, 110, 97, 108, 121, 122, 101, 46, 46, 46, 44, 32, 97, 110, 100, 32, 116, 104, 101, 110, 32, 86, 67, 71, }; static mxArray S55_ = mccCINIT( mccTEXT, 1, 57, S55__r_, 0); /* static array S56_ (1 x 58) text, line 77: ' (the first two wavefor...' */ static unsigned short S56__r_[] = { 32, 32, 32, 40, 116, 104, 101, 32, 102, 105, 114, 115, 116, 32, 116, 119, 111, 32, 119, 97, 118, 101, 102, 111, 114, 109, 115, 32, 105, 110, 32, 83, 105, 103, 110, 97, 108, 32, 76, 105, 115, 116, 32, 119, 105, 108, 108, 32, 98, 101, 32, 112, 108, 111, 116, 116, 101, 100, }; static mxArray S56_ = mccCINIT( mccTEXT, 1, 58, S56__r_, 0); /* static array S57_ (1 x 22) text, line 78: ' against each other)' */ static unsigned short S57__r_[] = { 32, 32, 32, 97, 103, 97, 105, 110, 115, 116, 32, 101, 97, 99, 104, 32, 111, 116, 104, 101, 114, 41, }; static mxArray S57_ = mccCINIT( mccTEXT, 1, 22, S57__r_, 0); /* static array S58_ (1 x 60) text, line 79: '3) update parameters in p...' */ static unsigned short S58__r_[] = { 51, 41, 32, 117, 112, 100, 97, 116, 101, 32, 112, 97, 114, 97, 109, 101, 116, 101, 114, 115, 32, 105, 110, 32, 112, 97, 114, 97, 109, 101, 116, 101, 114, 102, 105, 108, 101, 32, 97, 110, 100, 32, 115, 97, 118, 101, 32, 112, 97, 114, 97, 109, 101, 116, 101, 114, 102, 105, 108, 101, }; static mxArray S58_ = mccCINIT( mccTEXT, 1, 60, S58__r_, 0); /* static array S59_ (1 x 1) text, line 80: ' ' */ static unsigned short S59__r_[] = { 32, }; static mxArray S59_ = mccCINIT( mccTEXT, 1, 1, S59__r_, 0); /* static array S60_ (1 x 46) text, line 81: 'Press r and RETURN at sta...' */ static unsigned short S60__r_[] = { 80, 114, 101, 115, 115, 32, 114, 32, 97, 110, 100, 32, 82, 69, 84, 85, 82, 78, 32, 97, 116, 32, 115, 116, 97, 110, 100, 97, 114, 100, 32, 105, 110, 112, 117, 116, 32, 116, 111, 32, 114, 101, 115, 117, 109, 101, }; static mxArray S60_ = mccCINIT( mccTEXT, 1, 46, S60__r_, 0); /* static array S61_ (1 x 38) text, line 85: 'Usage: rcvsim parameterfi...' */ static unsigned short S61__r_[] = { 85, 115, 97, 103, 101, 58, 32, 114, 99, 118, 115, 105, 109, 32, 112, 97, 114, 97, 109, 101, 116, 101, 114, 102, 105, 108, 101, 32, 111, 117, 116, 112, 117, 116, 102, 105, 108, 101, }; static mxArray S61_ = mccCINIT( mccTEXT, 1, 38, S61__r_, 0); /* static array S62_ (1 x 25) text, line 86: ' rcvsim -h for help...' */ static unsigned short S62__r_[] = { 32, 32, 32, 32, 32, 32, 32, 114, 99, 118, 115, 105, 109, 32, 45, 104, 32, 102, 111, 114, 32, 104, 101, 108, 112, }; static mxArray S62_ = mccCINIT( mccTEXT, 1, 25, S62__r_, 0); /* static array S63_ (1 x 38) text, line 90: 'Usage: rcvsim parameterfi...' */ static unsigned short S63__r_[] = { 85, 115, 97, 103, 101, 58, 32, 114, 99, 118, 115, 105, 109, 32, 112, 97, 114, 97, 109, 101, 116, 101, 114, 102, 105, 108, 101, 32, 111, 117, 116, 112, 117, 116, 102, 105, 108, 101, }; static mxArray S63_ = mccCINIT( mccTEXT, 1, 38, S63__r_, 0); /* static array S64_ (1 x 25) text, line 91: ' rcvsim -h for help...' */ static unsigned short S64__r_[] = { 32, 32, 32, 32, 32, 32, 32, 114, 99, 118, 115, 105, 109, 32, 45, 104, 32, 102, 111, 114, 32, 104, 101, 108, 112, }; static mxArray S64_ = mccCINIT( mccTEXT, 1, 25, S64__r_, 0); /* static array S65_ (1 x 1) text, line 97: 'r' */ static unsigned short S65__r_[] = { 114, }; static mxArray S65_ = mccCINIT( mccTEXT, 1, 1, S65__r_, 0); /* static array S66_ (1 x 28) text, line 101: 'Invalid parameter file na...' */ static unsigned short S66__r_[] = { 73, 110, 118, 97, 108, 105, 100, 32, 112, 97, 114, 97, 109, 101, 116, 101, 114, 32, 102, 105, 108, 101, 32, 110, 97, 109, 101, 46, }; static mxArray S66_ = mccCINIT( mccTEXT, 1, 28, S66__r_, 0); /* static array S67_ (1 x 1) text, line 111: '0' */ static unsigned short S67__r_[] = { 48, }; static mxArray S67_ = mccCINIT( mccTEXT, 1, 1, S67__r_, 0); /* static array S68_ (1 x 33) text, line 117: 'All parameter values in t...' */ static unsigned short S68__r_[] = { 65, 108, 108, 32, 112, 97, 114, 97, 109, 101, 116, 101, 114, 32, 118, 97, 108, 117, 101, 115, 32, 105, 110, 32, 116, 104, 101, 32, 102, 105, 108, 101, 32, }; static mxArray S68_ = mccCINIT( mccTEXT, 1, 33, S68__r_, 0); /* static array S69_ (1 x 23) text, line 117: ' not properly assigned.' */ static unsigned short S69__r_[] = { 32, 110, 111, 116, 32, 112, 114, 111, 112, 101, 114, 108, 121, 32, 97, 115, 115, 105, 103, 110, 101, 100, 46, }; static mxArray S69_ = mccCINIT( mccTEXT, 1, 23, S69__r_, 0); /* static array S70_ (1 x 4) text, line 134: '.hea' */ static unsigned short S70__r_[] = { 46, 104, 101, 97, }; static mxArray S70_ = mccCINIT( mccTEXT, 1, 4, S70__r_, 0); /* static array S71_ (1 x 1) text, line 134: 'w' */ static unsigned short S71__r_[] = { 119, }; static mxArray S71_ = mccCINIT( mccTEXT, 1, 1, S71__r_, 0); /* static array S72_ (1 x 16) text, line 135: '%s %d %8.2f %d\n' */ static unsigned short S72__r_[] = { 37, 115, 32, 37, 100, 32, 37, 56, 46, 50, 102, 32, 37, 100, 92, 110, }; static mxArray S72_ = mccCINIT( mccTEXT, 1, 16, S72__r_, 0); /* static array S73_ (1 x 4) text, line 137: '.dat' */ static unsigned short S73__r_[] = { 46, 100, 97, 116, }; static mxArray S73_ = mccCINIT( mccTEXT, 1, 4, S73__r_, 0); /* static array S74_ (1 x 33) text, line 137: '%s %d %8.2f%s %d %d %d %d...' */ static unsigned short S74__r_[] = { 37, 115, 32, 37, 100, 32, 37, 56, 46, 50, 102, 37, 115, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 115, 92, 110, }; static mxArray S74_ = mccCINIT( mccTEXT, 1, 33, S74__r_, 0); /* static array S75_ (1 x 5) text, line 137: '/mmHg' */ static unsigned short S75__r_[] = { 47, 109, 109, 72, 103, }; static mxArray S75_ = mccCINIT( mccTEXT, 1, 5, S75__r_, 0); /* static array S76_ (1 x 2) text, line 137: 'Pl' */ static unsigned short S76__r_[] = { 80, 108, }; static mxArray S76_ = mccCINIT( mccTEXT, 1, 2, S76__r_, 0); /* static array S77_ (1 x 4) text, line 138: '.dat' */ static unsigned short S77__r_[] = { 46, 100, 97, 116, }; static mxArray S77_ = mccCINIT( mccTEXT, 1, 4, S77__r_, 0); /* static array S78_ (1 x 33) text, line 138: '%s %d %8.2f%s %d %d %d %d...' */ static unsigned short S78__r_[] = { 37, 115, 32, 37, 100, 32, 37, 56, 46, 50, 102, 37, 115, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 115, 92, 110, }; static mxArray S78_ = mccCINIT( mccTEXT, 1, 33, S78__r_, 0); /* static array S79_ (1 x 5) text, line 138: '/mmHg' */ static unsigned short S79__r_[] = { 47, 109, 109, 72, 103, }; static mxArray S79_ = mccCINIT( mccTEXT, 1, 5, S79__r_, 0); /* static array S80_ (1 x 2) text, line 138: 'Pa' */ static unsigned short S80__r_[] = { 80, 97, }; static mxArray S80_ = mccCINIT( mccTEXT, 1, 2, S80__r_, 0); /* static array S81_ (1 x 4) text, line 139: '.dat' */ static unsigned short S81__r_[] = { 46, 100, 97, 116, }; static mxArray S81_ = mccCINIT( mccTEXT, 1, 4, S81__r_, 0); /* static array S82_ (1 x 33) text, line 139: '%s %d %8.2f%s %d %d %d %d...' */ static unsigned short S82__r_[] = { 37, 115, 32, 37, 100, 32, 37, 56, 46, 50, 102, 37, 115, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 115, 92, 110, }; static mxArray S82_ = mccCINIT( mccTEXT, 1, 33, S82__r_, 0); /* static array S83_ (1 x 5) text, line 139: '/mmHg' */ static unsigned short S83__r_[] = { 47, 109, 109, 72, 103, }; static mxArray S83_ = mccCINIT( mccTEXT, 1, 5, S83__r_, 0); /* static array S84_ (1 x 2) text, line 139: 'Pv' */ static unsigned short S84__r_[] = { 80, 118, }; static mxArray S84_ = mccCINIT( mccTEXT, 1, 2, S84__r_, 0); /* static array S85_ (1 x 4) text, line 140: '.dat' */ static unsigned short S85__r_[] = { 46, 100, 97, 116, }; static mxArray S85_ = mccCINIT( mccTEXT, 1, 4, S85__r_, 0); /* static array S86_ (1 x 33) text, line 140: '%s %d %8.2f%s %d %d %d %d...' */ static unsigned short S86__r_[] = { 37, 115, 32, 37, 100, 32, 37, 56, 46, 50, 102, 37, 115, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 115, 92, 110, }; static mxArray S86_ = mccCINIT( mccTEXT, 1, 33, S86__r_, 0); /* static array S87_ (1 x 5) text, line 140: '/mmHg' */ static unsigned short S87__r_[] = { 47, 109, 109, 72, 103, }; static mxArray S87_ = mccCINIT( mccTEXT, 1, 5, S87__r_, 0); /* static array S88_ (1 x 2) text, line 140: 'Pr' */ static unsigned short S88__r_[] = { 80, 114, }; static mxArray S88_ = mccCINIT( mccTEXT, 1, 2, S88__r_, 0); /* static array S89_ (1 x 4) text, line 141: '.dat' */ static unsigned short S89__r_[] = { 46, 100, 97, 116, }; static mxArray S89_ = mccCINIT( mccTEXT, 1, 4, S89__r_, 0); /* static array S90_ (1 x 33) text, line 141: '%s %d %8.2f%s %d %d %d %d...' */ static unsigned short S90__r_[] = { 37, 115, 32, 37, 100, 32, 37, 56, 46, 50, 102, 37, 115, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 115, 92, 110, }; static mxArray S90_ = mccCINIT( mccTEXT, 1, 33, S90__r_, 0); /* static array S91_ (1 x 5) text, line 141: '/mmHg' */ static unsigned short S91__r_[] = { 47, 109, 109, 72, 103, }; static mxArray S91_ = mccCINIT( mccTEXT, 1, 5, S91__r_, 0); /* static array S92_ (1 x 3) text, line 141: 'Ppa' */ static unsigned short S92__r_[] = { 80, 112, 97, }; static mxArray S92_ = mccCINIT( mccTEXT, 1, 3, S92__r_, 0); /* static array S93_ (1 x 4) text, line 142: '.dat' */ static unsigned short S93__r_[] = { 46, 100, 97, 116, }; static mxArray S93_ = mccCINIT( mccTEXT, 1, 4, S93__r_, 0); /* static array S94_ (1 x 33) text, line 142: '%s %d %8.2f%s %d %d %d %d...' */ static unsigned short S94__r_[] = { 37, 115, 32, 37, 100, 32, 37, 56, 46, 50, 102, 37, 115, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 115, 92, 110, }; static mxArray S94_ = mccCINIT( mccTEXT, 1, 33, S94__r_, 0); /* static array S95_ (1 x 5) text, line 142: '/mmHg' */ static unsigned short S95__r_[] = { 47, 109, 109, 72, 103, }; static mxArray S95_ = mccCINIT( mccTEXT, 1, 5, S95__r_, 0); /* static array S96_ (1 x 3) text, line 142: 'Ppv' */ static unsigned short S96__r_[] = { 80, 112, 118, }; static mxArray S96_ = mccCINIT( mccTEXT, 1, 3, S96__r_, 0); /* static array S97_ (1 x 4) text, line 143: '.dat' */ static unsigned short S97__r_[] = { 46, 100, 97, 116, }; static mxArray S97_ = mccCINIT( mccTEXT, 1, 4, S97__r_, 0); /* static array S98_ (1 x 33) text, line 143: '%s %d %8.2f%s %d %d %d %d...' */ static unsigned short S98__r_[] = { 37, 115, 32, 37, 100, 32, 37, 56, 46, 50, 102, 37, 115, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 115, 92, 110, }; static mxArray S98_ = mccCINIT( mccTEXT, 1, 33, S98__r_, 0); /* static array S99_ (1 x 5) text, line 143: '/mmHg' */ static unsigned short S99__r_[] = { 47, 109, 109, 72, 103, }; static mxArray S99_ = mccCINIT( mccTEXT, 1, 5, S99__r_, 0); /* static array S100_ (1 x 3) text, line 143: 'Pth' */ static unsigned short S100__r_[] = { 80, 116, 104, }; static mxArray S100_ = mccCINIT( mccTEXT, 1, 3, S100__r_, 0); /* static array S101_ (1 x 4) text, line 144: '.dat' */ static unsigned short S101__r_[] = { 46, 100, 97, 116, }; static mxArray S101_ = mccCINIT( mccTEXT, 1, 4, S101__r_, 0); /* static array S102_ (1 x 33) text, line 144: '%s %d %8.2f%s %d %d %d %d...' */ static unsigned short S102__r_[] = { 37, 115, 32, 37, 100, 32, 37, 56, 46, 50, 102, 37, 115, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 115, 92, 110, }; static mxArray S102_ = mccCINIT( mccTEXT, 1, 33, S102__r_, 0); /* static array S103_ (1 x 5) text, line 144: '/mmHg' */ static unsigned short S103__r_[] = { 47, 109, 109, 72, 103, }; static mxArray S103_ = mccCINIT( mccTEXT, 1, 5, S103__r_, 0); /* static array S104_ (1 x 4) text, line 144: 'Palv' */ static unsigned short S104__r_[] = { 80, 97, 108, 118, }; static mxArray S104_ = mccCINIT( mccTEXT, 1, 4, S104__r_, 0); /* static array S105_ (1 x 4) text, line 145: '.dat' */ static unsigned short S105__r_[] = { 46, 100, 97, 116, }; static mxArray S105_ = mccCINIT( mccTEXT, 1, 4, S105__r_, 0); /* static array S106_ (1 x 33) text, line 145: '%s %d %8.2f%s %d %d %d %d...' */ static unsigned short S106__r_[] = { 37, 115, 32, 37, 100, 32, 37, 56, 46, 50, 102, 37, 115, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 115, 92, 110, }; static mxArray S106_ = mccCINIT( mccTEXT, 1, 33, S106__r_, 0); /* static array S107_ (1 x 5) text, line 145: '/mmHg' */ static unsigned short S107__r_[] = { 47, 109, 109, 72, 103, }; static mxArray S107_ = mccCINIT( mccTEXT, 1, 5, S107__r_, 0); /* static array S108_ (1 x 3) text, line 145: 'Pra' */ static unsigned short S108__r_[] = { 80, 114, 97, }; static mxArray S108_ = mccCINIT( mccTEXT, 1, 3, S108__r_, 0); /* static array S109_ (1 x 4) text, line 147: '.dat' */ static unsigned short S109__r_[] = { 46, 100, 97, 116, }; static mxArray S109_ = mccCINIT( mccTEXT, 1, 4, S109__r_, 0); /* static array S110_ (1 x 33) text, line 147: '%s %d %8.2f%s %d %d %d %d...' */ static unsigned short S110__r_[] = { 37, 115, 32, 37, 100, 32, 37, 56, 46, 50, 102, 37, 115, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 115, 92, 110, }; static mxArray S110_ = mccCINIT( mccTEXT, 1, 33, S110__r_, 0); /* static array S111_ (1 x 3) text, line 147: '/ml' */ static unsigned short S111__r_[] = { 47, 109, 108, }; static mxArray S111_ = mccCINIT( mccTEXT, 1, 3, S111__r_, 0); /* static array S112_ (1 x 2) text, line 147: 'Ql' */ static unsigned short S112__r_[] = { 81, 108, }; static mxArray S112_ = mccCINIT( mccTEXT, 1, 2, S112__r_, 0); /* static array S113_ (1 x 4) text, line 148: '.dat' */ static unsigned short S113__r_[] = { 46, 100, 97, 116, }; static mxArray S113_ = mccCINIT( mccTEXT, 1, 4, S113__r_, 0); /* static array S114_ (1 x 33) text, line 148: '%s %d %8.2f%s %d %d %d %d...' */ static unsigned short S114__r_[] = { 37, 115, 32, 37, 100, 32, 37, 56, 46, 50, 102, 37, 115, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 115, 92, 110, }; static mxArray S114_ = mccCINIT( mccTEXT, 1, 33, S114__r_, 0); /* static array S115_ (1 x 3) text, line 148: '/ml' */ static unsigned short S115__r_[] = { 47, 109, 108, }; static mxArray S115_ = mccCINIT( mccTEXT, 1, 3, S115__r_, 0); /* static array S116_ (1 x 2) text, line 148: 'Qa' */ static unsigned short S116__r_[] = { 81, 97, }; static mxArray S116_ = mccCINIT( mccTEXT, 1, 2, S116__r_, 0); /* static array S117_ (1 x 4) text, line 149: '.dat' */ static unsigned short S117__r_[] = { 46, 100, 97, 116, }; static mxArray S117_ = mccCINIT( mccTEXT, 1, 4, S117__r_, 0); /* static array S118_ (1 x 33) text, line 149: '%s %d %8.2f%s %d %d %d %d...' */ static unsigned short S118__r_[] = { 37, 115, 32, 37, 100, 32, 37, 56, 46, 50, 102, 37, 115, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 115, 92, 110, }; static mxArray S118_ = mccCINIT( mccTEXT, 1, 33, S118__r_, 0); /* static array S119_ (1 x 3) text, line 149: '/ml' */ static unsigned short S119__r_[] = { 47, 109, 108, }; static mxArray S119_ = mccCINIT( mccTEXT, 1, 3, S119__r_, 0); /* static array S120_ (1 x 2) text, line 149: 'Qv' */ static unsigned short S120__r_[] = { 81, 118, }; static mxArray S120_ = mccCINIT( mccTEXT, 1, 2, S120__r_, 0); /* static array S121_ (1 x 4) text, line 150: '.dat' */ static unsigned short S121__r_[] = { 46, 100, 97, 116, }; static mxArray S121_ = mccCINIT( mccTEXT, 1, 4, S121__r_, 0); /* static array S122_ (1 x 33) text, line 150: '%s %d %8.2f%s %d %d %d %d...' */ static unsigned short S122__r_[] = { 37, 115, 32, 37, 100, 32, 37, 56, 46, 50, 102, 37, 115, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 115, 92, 110, }; static mxArray S122_ = mccCINIT( mccTEXT, 1, 33, S122__r_, 0); /* static array S123_ (1 x 3) text, line 150: '/ml' */ static unsigned short S123__r_[] = { 47, 109, 108, }; static mxArray S123_ = mccCINIT( mccTEXT, 1, 3, S123__r_, 0); /* static array S124_ (1 x 2) text, line 150: 'Qr' */ static unsigned short S124__r_[] = { 81, 114, }; static mxArray S124_ = mccCINIT( mccTEXT, 1, 2, S124__r_, 0); /* static array S125_ (1 x 4) text, line 151: '.dat' */ static unsigned short S125__r_[] = { 46, 100, 97, 116, }; static mxArray S125_ = mccCINIT( mccTEXT, 1, 4, S125__r_, 0); /* static array S126_ (1 x 33) text, line 151: '%s %d %8.2f%s %d %d %d %d...' */ static unsigned short S126__r_[] = { 37, 115, 32, 37, 100, 32, 37, 56, 46, 50, 102, 37, 115, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 115, 92, 110, }; static mxArray S126_ = mccCINIT( mccTEXT, 1, 33, S126__r_, 0); /* static array S127_ (1 x 3) text, line 151: '/ml' */ static unsigned short S127__r_[] = { 47, 109, 108, }; static mxArray S127_ = mccCINIT( mccTEXT, 1, 3, S127__r_, 0); /* static array S128_ (1 x 3) text, line 151: 'Qpa' */ static unsigned short S128__r_[] = { 81, 112, 97, }; static mxArray S128_ = mccCINIT( mccTEXT, 1, 3, S128__r_, 0); /* static array S129_ (1 x 4) text, line 152: '.dat' */ static unsigned short S129__r_[] = { 46, 100, 97, 116, }; static mxArray S129_ = mccCINIT( mccTEXT, 1, 4, S129__r_, 0); /* static array S130_ (1 x 33) text, line 152: '%s %d %8.2f%s %d %d %d %d...' */ static unsigned short S130__r_[] = { 37, 115, 32, 37, 100, 32, 37, 56, 46, 50, 102, 37, 115, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 115, 92, 110, }; static mxArray S130_ = mccCINIT( mccTEXT, 1, 33, S130__r_, 0); /* static array S131_ (1 x 3) text, line 152: '/ml' */ static unsigned short S131__r_[] = { 47, 109, 108, }; static mxArray S131_ = mccCINIT( mccTEXT, 1, 3, S131__r_, 0); /* static array S132_ (1 x 3) text, line 152: 'Qpv' */ static unsigned short S132__r_[] = { 81, 112, 118, }; static mxArray S132_ = mccCINIT( mccTEXT, 1, 3, S132__r_, 0); /* static array S133_ (1 x 4) text, line 153: '.dat' */ static unsigned short S133__r_[] = { 46, 100, 97, 116, }; static mxArray S133_ = mccCINIT( mccTEXT, 1, 4, S133__r_, 0); /* static array S134_ (1 x 33) text, line 153: '%s %d %8.2f%s %d %d %d %d...' */ static unsigned short S134__r_[] = { 37, 115, 32, 37, 100, 32, 37, 56, 46, 50, 102, 37, 115, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 115, 92, 110, }; static mxArray S134_ = mccCINIT( mccTEXT, 1, 33, S134__r_, 0); /* static array S135_ (1 x 3) text, line 153: '/ml' */ static unsigned short S135__r_[] = { 47, 109, 108, }; static mxArray S135_ = mccCINIT( mccTEXT, 1, 3, S135__r_, 0); /* static array S136_ (1 x 3) text, line 153: 'Qlu' */ static unsigned short S136__r_[] = { 81, 108, 117, }; static mxArray S136_ = mccCINIT( mccTEXT, 1, 3, S136__r_, 0); /* static array S137_ (1 x 4) text, line 155: '.dat' */ static unsigned short S137__r_[] = { 46, 100, 97, 116, }; static mxArray S137_ = mccCINIT( mccTEXT, 1, 4, S137__r_, 0); /* static array S138_ (1 x 33) text, line 155: '%s %d %8.2f%s %d %d %d %d...' */ static unsigned short S138__r_[] = { 37, 115, 32, 37, 100, 32, 37, 56, 46, 50, 102, 37, 115, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 115, 92, 110, }; static mxArray S138_ = mccCINIT( mccTEXT, 1, 33, S138__r_, 0); /* static array S139_ (1 x 5) text, line 155: '/ml/s' */ static unsigned short S139__r_[] = { 47, 109, 108, 47, 115, }; static mxArray S139_ = mccCINIT( mccTEXT, 1, 5, S139__r_, 0); /* static array S140_ (1 x 3) text, line 155: 'qpv' */ static unsigned short S140__r_[] = { 113, 112, 118, }; static mxArray S140_ = mccCINIT( mccTEXT, 1, 3, S140__r_, 0); /* static array S141_ (1 x 4) text, line 156: '.dat' */ static unsigned short S141__r_[] = { 46, 100, 97, 116, }; static mxArray S141_ = mccCINIT( mccTEXT, 1, 4, S141__r_, 0); /* static array S142_ (1 x 33) text, line 156: '%s %d %8.2f%s %d %d %d %d...' */ static unsigned short S142__r_[] = { 37, 115, 32, 37, 100, 32, 37, 56, 46, 50, 102, 37, 115, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 115, 92, 110, }; static mxArray S142_ = mccCINIT( mccTEXT, 1, 33, S142__r_, 0); /* static array S143_ (1 x 5) text, line 156: '/ml/s' */ static unsigned short S143__r_[] = { 47, 109, 108, 47, 115, }; static mxArray S143_ = mccCINIT( mccTEXT, 1, 5, S143__r_, 0); /* static array S144_ (1 x 2) text, line 156: 'ql' */ static unsigned short S144__r_[] = { 113, 108, }; static mxArray S144_ = mccCINIT( mccTEXT, 1, 2, S144__r_, 0); /* static array S145_ (1 x 4) text, line 157: '.dat' */ static unsigned short S145__r_[] = { 46, 100, 97, 116, }; static mxArray S145_ = mccCINIT( mccTEXT, 1, 4, S145__r_, 0); /* static array S146_ (1 x 33) text, line 157: '%s %d %8.2f%s %d %d %d %d...' */ static unsigned short S146__r_[] = { 37, 115, 32, 37, 100, 32, 37, 56, 46, 50, 102, 37, 115, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 115, 92, 110, }; static mxArray S146_ = mccCINIT( mccTEXT, 1, 33, S146__r_, 0); /* static array S147_ (1 x 5) text, line 157: '/ml/s' */ static unsigned short S147__r_[] = { 47, 109, 108, 47, 115, }; static mxArray S147_ = mccCINIT( mccTEXT, 1, 5, S147__r_, 0); /* static array S148_ (1 x 2) text, line 157: 'qa' */ static unsigned short S148__r_[] = { 113, 97, }; static mxArray S148_ = mccCINIT( mccTEXT, 1, 2, S148__r_, 0); /* static array S149_ (1 x 4) text, line 158: '.dat' */ static unsigned short S149__r_[] = { 46, 100, 97, 116, }; static mxArray S149_ = mccCINIT( mccTEXT, 1, 4, S149__r_, 0); /* static array S150_ (1 x 33) text, line 158: '%s %d %8.2f%s %d %d %d %d...' */ static unsigned short S150__r_[] = { 37, 115, 32, 37, 100, 32, 37, 56, 46, 50, 102, 37, 115, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 115, 92, 110, }; static mxArray S150_ = mccCINIT( mccTEXT, 1, 33, S150__r_, 0); /* static array S151_ (1 x 5) text, line 158: '/ml/s' */ static unsigned short S151__r_[] = { 47, 109, 108, 47, 115, }; static mxArray S151_ = mccCINIT( mccTEXT, 1, 5, S151__r_, 0); /* static array S152_ (1 x 2) text, line 158: 'qv' */ static unsigned short S152__r_[] = { 113, 118, }; static mxArray S152_ = mccCINIT( mccTEXT, 1, 2, S152__r_, 0); /* static array S153_ (1 x 4) text, line 159: '.dat' */ static unsigned short S153__r_[] = { 46, 100, 97, 116, }; static mxArray S153_ = mccCINIT( mccTEXT, 1, 4, S153__r_, 0); /* static array S154_ (1 x 33) text, line 159: '%s %d %8.2f%s %d %d %d %d...' */ static unsigned short S154__r_[] = { 37, 115, 32, 37, 100, 32, 37, 56, 46, 50, 102, 37, 115, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 115, 92, 110, }; static mxArray S154_ = mccCINIT( mccTEXT, 1, 33, S154__r_, 0); /* static array S155_ (1 x 5) text, line 159: '/ml/s' */ static unsigned short S155__r_[] = { 47, 109, 108, 47, 115, }; static mxArray S155_ = mccCINIT( mccTEXT, 1, 5, S155__r_, 0); /* static array S156_ (1 x 2) text, line 159: 'qr' */ static unsigned short S156__r_[] = { 113, 114, }; static mxArray S156_ = mccCINIT( mccTEXT, 1, 2, S156__r_, 0); /* static array S157_ (1 x 4) text, line 160: '.dat' */ static unsigned short S157__r_[] = { 46, 100, 97, 116, }; static mxArray S157_ = mccCINIT( mccTEXT, 1, 4, S157__r_, 0); /* static array S158_ (1 x 33) text, line 160: '%s %d %8.2f%s %d %d %d %d...' */ static unsigned short S158__r_[] = { 37, 115, 32, 37, 100, 32, 37, 56, 46, 50, 102, 37, 115, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 115, 92, 110, }; static mxArray S158_ = mccCINIT( mccTEXT, 1, 33, S158__r_, 0); /* static array S159_ (1 x 5) text, line 160: '/ml/s' */ static unsigned short S159__r_[] = { 47, 109, 108, 47, 115, }; static mxArray S159_ = mccCINIT( mccTEXT, 1, 5, S159__r_, 0); /* static array S160_ (1 x 3) text, line 160: 'qpa' */ static unsigned short S160__r_[] = { 113, 112, 97, }; static mxArray S160_ = mccCINIT( mccTEXT, 1, 3, S160__r_, 0); /* static array S161_ (1 x 4) text, line 162: '.dat' */ static unsigned short S161__r_[] = { 46, 100, 97, 116, }; static mxArray S161_ = mccCINIT( mccTEXT, 1, 4, S161__r_, 0); /* static array S162_ (1 x 33) text, line 162: '%s %d %8.2f%s %d %d %d %d...' */ static unsigned short S162__r_[] = { 37, 115, 32, 37, 100, 32, 37, 56, 46, 50, 102, 37, 115, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 115, 92, 110, }; static mxArray S162_ = mccCINIT( mccTEXT, 1, 33, S162__r_, 0); /* static array S163_ (1 x 8) text, line 162: '/ml/mmHg' */ static unsigned short S163__r_[] = { 47, 109, 108, 47, 109, 109, 72, 103, }; static mxArray S163_ = mccCINIT( mccTEXT, 1, 8, S163__r_, 0); /* static array S164_ (1 x 3) text, line 162: 'Cls' */ static unsigned short S164__r_[] = { 67, 108, 115, }; static mxArray S164_ = mccCINIT( mccTEXT, 1, 3, S164__r_, 0); /* static array S165_ (1 x 4) text, line 163: '.dat' */ static unsigned short S165__r_[] = { 46, 100, 97, 116, }; static mxArray S165_ = mccCINIT( mccTEXT, 1, 4, S165__r_, 0); /* static array S166_ (1 x 33) text, line 163: '%s %d %8.2f%s %d %d %d %d...' */ static unsigned short S166__r_[] = { 37, 115, 32, 37, 100, 32, 37, 56, 46, 50, 102, 37, 115, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 115, 92, 110, }; static mxArray S166_ = mccCINIT( mccTEXT, 1, 33, S166__r_, 0); /* static array S167_ (1 x 8) text, line 163: '/ml/mmHg' */ static unsigned short S167__r_[] = { 47, 109, 108, 47, 109, 109, 72, 103, }; static mxArray S167_ = mccCINIT( mccTEXT, 1, 8, S167__r_, 0); /* static array S168_ (1 x 3) text, line 163: 'Crs' */ static unsigned short S168__r_[] = { 67, 114, 115, }; static mxArray S168_ = mccCINIT( mccTEXT, 1, 3, S168__r_, 0); /* static array S169_ (1 x 4) text, line 164: '.dat' */ static unsigned short S169__r_[] = { 46, 100, 97, 116, }; static mxArray S169_ = mccCINIT( mccTEXT, 1, 4, S169__r_, 0); /* static array S170_ (1 x 33) text, line 164: '%s %d %8.2f%s %d %d %d %d...' */ static unsigned short S170__r_[] = { 37, 115, 32, 37, 100, 32, 37, 56, 46, 50, 102, 37, 115, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 115, 92, 110, }; static mxArray S170_ = mccCINIT( mccTEXT, 1, 33, S170__r_, 0); /* static array S171_ (1 x 3) text, line 164: '/ml' */ static unsigned short S171__r_[] = { 47, 109, 108, }; static mxArray S171_ = mccCINIT( mccTEXT, 1, 3, S171__r_, 0); /* static array S172_ (1 x 3) text, line 164: 'Qvo' */ static unsigned short S172__r_[] = { 81, 118, 111, }; static mxArray S172_ = mccCINIT( mccTEXT, 1, 3, S172__r_, 0); /* static array S173_ (1 x 4) text, line 165: '.dat' */ static unsigned short S173__r_[] = { 46, 100, 97, 116, }; static mxArray S173_ = mccCINIT( mccTEXT, 1, 4, S173__r_, 0); /* static array S174_ (1 x 33) text, line 165: '%s %d %8.2f%s %d %d %d %d...' */ static unsigned short S174__r_[] = { 37, 115, 32, 37, 100, 32, 37, 56, 46, 50, 102, 37, 115, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 115, 92, 110, }; static mxArray S174_ = mccCINIT( mccTEXT, 1, 33, S174__r_, 0); /* static array S175_ (1 x 10) text, line 165: '/mmHg-s/ml' */ static unsigned short S175__r_[] = { 47, 109, 109, 72, 103, 45, 115, 47, 109, 108, }; static mxArray S175_ = mccCINIT( mccTEXT, 1, 10, S175__r_, 0); /* static array S176_ (1 x 2) text, line 165: 'Ra' */ static unsigned short S176__r_[] = { 82, 97, }; static mxArray S176_ = mccCINIT( mccTEXT, 1, 2, S176__r_, 0); /* static array S177_ (1 x 4) text, line 166: '.dat' */ static unsigned short S177__r_[] = { 46, 100, 97, 116, }; static mxArray S177_ = mccCINIT( mccTEXT, 1, 4, S177__r_, 0); /* static array S178_ (1 x 33) text, line 166: '%s %d %8.2f%s %d %d %d %d...' */ static unsigned short S178__r_[] = { 37, 115, 32, 37, 100, 32, 37, 56, 46, 50, 102, 37, 115, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 115, 92, 110, }; static mxArray S178_ = mccCINIT( mccTEXT, 1, 33, S178__r_, 0); /* static array S179_ (1 x 4) text, line 166: '/bpm' */ static unsigned short S179__r_[] = { 47, 98, 112, 109, }; static mxArray S179_ = mccCINIT( mccTEXT, 1, 4, S179__r_, 0); /* static array S180_ (1 x 1) text, line 166: 'F' */ static unsigned short S180__r_[] = { 70, }; static mxArray S180_ = mccCINIT( mccTEXT, 1, 1, S180__r_, 0); /* static array S181_ (1 x 4) text, line 168: '.dat' */ static unsigned short S181__r_[] = { 46, 100, 97, 116, }; static mxArray S181_ = mccCINIT( mccTEXT, 1, 4, S181__r_, 0); /* static array S182_ (1 x 33) text, line 168: '%s %d %8.2f%s %d %d %d %d...' */ static unsigned short S182__r_[] = { 37, 115, 32, 37, 100, 32, 37, 56, 46, 50, 102, 37, 115, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 115, 92, 110, }; static mxArray S182_ = mccCINIT( mccTEXT, 1, 33, S182__r_, 0); /* static array S183_ (1 x 8) text, line 168: '/mmHg/ml' */ static unsigned short S183__r_[] = { 47, 109, 109, 72, 103, 47, 109, 108, }; static mxArray S183_ = mccCINIT( mccTEXT, 1, 8, S183__r_, 0); /* static array S184_ (1 x 2) text, line 168: 'El' */ static unsigned short S184__r_[] = { 69, 108, }; static mxArray S184_ = mccCINIT( mccTEXT, 1, 2, S184__r_, 0); /* static array S185_ (1 x 4) text, line 169: '.dat' */ static unsigned short S185__r_[] = { 46, 100, 97, 116, }; static mxArray S185_ = mccCINIT( mccTEXT, 1, 4, S185__r_, 0); /* static array S186_ (1 x 33) text, line 169: '%s %d %8.2f%s %d %d %d %d...' */ static unsigned short S186__r_[] = { 37, 115, 32, 37, 100, 32, 37, 56, 46, 50, 102, 37, 115, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 100, 32, 37, 115, 92, 110, }; static mxArray S186_ = mccCINIT( mccTEXT, 1, 33, S186__r_, 0); /* static array S187_ (1 x 8) text, line 169: '/mmHg/ml' */ static unsigned short S187__r_[] = { 47, 109, 109, 72, 103, 47, 109, 108, }; static mxArray S187_ = mccCINIT( mccTEXT, 1, 8, S187__r_, 0); /* static array S188_ (1 x 2) text, line 169: 'Er' */ static unsigned short S188__r_[] = { 69, 114, }; static mxArray S188_ = mccCINIT( mccTEXT, 1, 2, S188__r_, 0); /* static array S189_ (1 x 2) text, line 177: '-1' */ static unsigned short S189__r_[] = { 45, 49, }; static mxArray S189_ = mccCINIT( mccTEXT, 1, 2, S189__r_, 0); /* static array S190_ (1 x 4) text, line 181: '.dat' */ static unsigned short S190__r_[] = { 46, 100, 97, 116, }; static mxArray S190_ = mccCINIT( mccTEXT, 1, 4, S190__r_, 0); /* static array S191_ (1 x 1) text, line 181: 'w' */ static unsigned short S191__r_[] = { 119, }; static mxArray S191_ = mccCINIT( mccTEXT, 1, 1, S191__r_, 0); /* static array S192_ (1 x 5) text, line 182: 'short' */ static unsigned short S192__r_[] = { 115, 104, 111, 114, 116, }; static mxArray S192_ = mccCINIT( mccTEXT, 1, 5, S192__r_, 0); /* static array S193_ (1 x 4) text, line 184: '.qrs' */ static unsigned short S193__r_[] = { 46, 113, 114, 115, }; static mxArray S193_ = mccCINIT( mccTEXT, 1, 4, S193__r_, 0); /* static array S194_ (1 x 2) text, line 184: 'wa' */ static unsigned short S194__r_[] = { 119, 97, }; static mxArray S194_ = mccCINIT( mccTEXT, 1, 2, S194__r_, 0); /* static array S195_ (1 x 5) text, line 185: 'bit10' */ static unsigned short S195__r_[] = { 98, 105, 116, 49, 48, }; static mxArray S195_ = mccCINIT( mccTEXT, 1, 5, S195__r_, 0); /* static array S196_ (1 x 5) text, line 186: 'ubit6' */ static unsigned short S196__r_[] = { 117, 98, 105, 116, 54, }; static mxArray S196_ = mccCINIT( mccTEXT, 1, 5, S196__r_, 0); /* static array S197_ (1 x 5) text, line 187: 'bit10' */ static unsigned short S197__r_[] = { 98, 105, 116, 49, 48, }; static mxArray S197_ = mccCINIT( mccTEXT, 1, 5, S197__r_, 0); /* static array S198_ (1 x 5) text, line 188: 'ubit6' */ static unsigned short S198__r_[] = { 117, 98, 105, 116, 54, }; static mxArray S198_ = mccCINIT( mccTEXT, 1, 5, S198__r_, 0); /* static array S199_ (1 x 5) text, line 190: 'bit10' */ static unsigned short S199__r_[] = { 98, 105, 116, 49, 48, }; static mxArray S199_ = mccCINIT( mccTEXT, 1, 5, S199__r_, 0); /* static array S200_ (1 x 5) text, line 191: 'ubit6' */ static unsigned short S200__r_[] = { 117, 98, 105, 116, 54, }; static mxArray S200_ = mccCINIT( mccTEXT, 1, 5, S200__r_, 0); /* static array S201_ (1 x 1) text, line 192: '.' */ static unsigned short S201__r_[] = { 46, }; static mxArray S201_ = mccCINIT( mccTEXT, 1, 1, S201__r_, 0); /* static array S202_ (1 x 6) text, line 192: '*uchar' */ static unsigned short S202__r_[] = { 42, 117, 99, 104, 97, 114, }; static mxArray S202_ = mccCINIT( mccTEXT, 1, 6, S202__r_, 0); /* static array S203_ (1 x 5) text, line 196: 'bit10' */ static unsigned short S203__r_[] = { 98, 105, 116, 49, 48, }; static mxArray S203_ = mccCINIT( mccTEXT, 1, 5, S203__r_, 0); /* static array S204_ (1 x 5) text, line 197: 'ubit6' */ static unsigned short S204__r_[] = { 117, 98, 105, 116, 54, }; static mxArray S204_ = mccCINIT( mccTEXT, 1, 5, S204__r_, 0); /* static array S205_ (1 x 5) text, line 199: 'bit10' */ static unsigned short S205__r_[] = { 98, 105, 116, 49, 48, }; static mxArray S205_ = mccCINIT( mccTEXT, 1, 5, S205__r_, 0); /* static array S206_ (1 x 5) text, line 200: 'ubit6' */ static unsigned short S206__r_[] = { 117, 98, 105, 116, 54, }; static mxArray S206_ = mccCINIT( mccTEXT, 1, 5, S206__r_, 0); /* static array S207_ (1 x 4) text, line 209: '.txt' */ static unsigned short S207__r_[] = { 46, 116, 120, 116, }; static mxArray S207_ = mccCINIT( mccTEXT, 1, 4, S207__r_, 0); /* static array S208_ (1 x 1) text, line 209: 'w' */ static unsigned short S208__r_[] = { 119, }; static mxArray S208_ = mccCINIT( mccTEXT, 1, 1, S208__r_, 0); /* static array S209_ (1 x 9) text, line 211: '%8s %8s\n' */ static unsigned short S209__r_[] = { 37, 56, 115, 32, 37, 56, 115, 92, 110, }; static mxArray S209_ = mccCINIT( mccTEXT, 1, 9, S209__r_, 0); /* static array S210_ (1 x 4) text, line 211: 'mPra' */ static unsigned short S210__r_[] = { 109, 80, 114, 97, }; static mxArray S210_ = mccCINIT( mccTEXT, 1, 4, S210__r_, 0); /* static array S211_ (1 x 3) text, line 211: 'mqv' */ static unsigned short S211__r_[] = { 109, 113, 118, }; static mxArray S211_ = mccCINIT( mccTEXT, 1, 3, S211__r_, 0); /* static array S212_ (1 x 13) text, line 212: '%8.2f %8.2f\n' */ static unsigned short S212__r_[] = { 37, 56, 46, 50, 102, 32, 37, 56, 46, 50, 102, 92, 110, }; static mxArray S212_ = mccCINIT( mccTEXT, 1, 13, S212__r_, 0); /* static array S213_ (1 x 13) text, line 214: '%8s %8s %8s\n' */ static unsigned short S213__r_[] = { 37, 56, 115, 32, 37, 56, 115, 32, 37, 56, 115, 92, 110, }; static mxArray S213_ = mccCINIT( mccTEXT, 1, 13, S213__r_, 0); /* static array S214_ (1 x 4) text, line 214: 'mPra' */ static unsigned short S214__r_[] = { 109, 80, 114, 97, }; static mxArray S214_ = mccCINIT( mccTEXT, 1, 4, S214__r_, 0); /* static array S215_ (1 x 3) text, line 214: 'mql' */ static unsigned short S215__r_[] = { 109, 113, 108, }; static mxArray S215_ = mccCINIT( mccTEXT, 1, 3, S215__r_, 0); /* static array S216_ (1 x 3) text, line 214: 'mPa' */ static unsigned short S216__r_[] = { 109, 80, 97, }; static mxArray S216_ = mccCINIT( mccTEXT, 1, 3, S216__r_, 0); /* static array S217_ (1 x 19) text, line 215: '%8.2f %8.2f %8.2f\n' */ static unsigned short S217__r_[] = { 37, 56, 46, 50, 102, 32, 37, 56, 46, 50, 102, 32, 37, 56, 46, 50, 102, 92, 110, }; static mxArray S217_ = mccCINIT( mccTEXT, 1, 19, S217__r_, 0); /* static array S218_ (1 x 6) int, line 1096 */ static int S218r_[] = { 1, 0, 0, 1, 1, 1, }; static mxArray S218_ = mccCINIT( mccINT, 1, 6, S218r_, 0 ); /* static array S219_ (1 x 6) int, line 1098 */ static int S219r_[] = { 1, 0, 0, 1, 1, 1, }; static mxArray S219_ = mccCINIT( mccINT, 1, 6, S219r_, 0 ); /* static array S220_ (1 x 2) int, line 1099 */ static int S220r_[] = { 1, 1, }; static mxArray S220_ = mccCINIT( mccINT, 1, 2, S220r_, 0 ); static void rand_int_breath_(mxArray *); static void resp_act_(mxArray *, mxArray *, mxArray *, double, int, double); static void dncm_filt_(mxArray *, mxArray *, mxArray *); static void ilv_dec_(mxArray *, mxArray *, double, double); static void bl_filt_(mxArray *, double, double); static void oneoverf_filt_(mxArray *, mxArray *, double, int, int); static void ans_filt_(mxArray *, mxArray *, mxArray *); static void intact_init_cond_(mxArray *,mxArray *,mxArray *,mxArray *, mxArray *); static void hlu_init_cond_(mxArray *,mxArray *,mxArray *,mxArray *, mxArray *); static void sc_init_cond_(mxArray *,mxArray *,mxArray *,mxArray *, mxArray *); static void lv_init_cond_(mxArray *,mxArray *,mxArray *,mxArray *, mxArray *); static void init_cond_(mxArray *,mxArray *,mxArray *,mxArray *, mxArray *); static void third_init_cond_(mxArray *,mxArray *,mxArray *,mxArray *, mxArray *); static void nac_init_cond_(mxArray *,mxArray *,mxArray *,mxArray *, mxArray *); static void third_nac_init_cond_(mxArray *,mxArray *,mxArray *,mxArray *, mxArray *); static void apr_init_cond_(mxArray *,mxArray *,mxArray *,mxArray *, mxArray *); static void a_init_cond_(mxArray *,mxArray *,mxArray *,mxArray *, mxArray *); static void rk4_(mxArray *, mxArray *, mxArray *, mxArray *, mxArray *, double, mxArray *, double, double); static void abreflex_(mxArray *, mxArray *, mxArray *, mxArray *, mxArray *, mxArray *); static void abreflex__1(mxArray *, mxArray *, mxArray *, mxArray *, mxArray *, mxArray *); static void cpreflex_(mxArray *, mxArray *, mxArray *, mxArray *, mxArray *); static void vent_vol_(double *, double, double, double); static void var_cap_(double *,double *, double, double, double, mxArray *); static void var_vcap_(double *,double *, double, double, double, mxArray *); static void var_acap_(double *,double *, double, double, double, mxArray *); static void param_change_(mxArray *, mxArray *, mxArray *, mxArray *); static void resp_act__1(mxArray *, mxArray *, mxArray *, double, int, double); static void resp_act__2(mxArray *, mxArray *, mxArray *, double, double, double); static void resp_act__3(mxArray *, mxArray *, mxArray *, double, double, double); static void conserve_vol_(mxArray *, mxArray *, mxArray *, mxArray *, double); void mlfWave_remote( mxArray *, mxArray *, mxArray *, mxArray * ); mxArray *mlfRead_key( void ); /* static array S221_ (1 x 32) text, line 130: 'flag is not of correct di...' */ static unsigned short S221__r_[] = { 102, 108, 97, 103, 32, 105, 115, 32, 110, 111, 116, 32, 111, 102, 32, 99, 111, 114, 114, 101, 99, 116, 32, 100, 105, 109, 101, 110, 115, 105, 111, 110, }; static mxArray S221_ = mccCINIT( mccTEXT, 1, 32, S221__r_, 0); /* static array S222_ (1 x 31) text, line 240: 'breathing is not a valid ...' */ static unsigned short S222__r_[] = { 98, 114, 101, 97, 116, 104, 105, 110, 103, 32, 105, 115, 32, 110, 111, 116, 32, 97, 32, 118, 97, 108, 105, 100, 32, 111, 112, 116, 105, 111, 110, }; static mxArray S222_ = mccCINIT( mccTEXT, 1, 31, S222__r_, 0); /* static array S223_ (1 x 26) text, line 274: 'dncm is not a valid optio...' */ static unsigned short S223__r_[] = { 100, 110, 99, 109, 32, 105, 115, 32, 110, 111, 116, 32, 97, 32, 118, 97, 108, 105, 100, 32, 111, 112, 116, 105, 111, 110, }; static mxArray S223_ = mccCINIT( mccTEXT, 1, 26, S223__r_, 0); /* static array S224_ (1 x 25) text, line 326: 'dra is not a valid option...' */ static unsigned short S224__r_[] = { 100, 114, 97, 32, 105, 115, 32, 110, 111, 116, 32, 97, 32, 118, 97, 108, 105, 100, 32, 111, 112, 116, 105, 111, 110, }; static mxArray S224_ = mccCINIT( mccTEXT, 1, 25, S224__r_, 0); /* static array S225_ (1 x 18) text, line 354: 'dpasp is not valid' */ static unsigned short S225__r_[] = { 100, 112, 97, 115, 112, 32, 105, 115, 32, 110, 111, 116, 32, 118, 97, 108, 105, 100, }; static mxArray S225_ = mccCINIT( mccTEXT, 1, 18, S225__r_, 0); /* static array S226_ (1 x 24) text, line 371: 'df is not a valid option' */ static unsigned short S226__r_[] = { 100, 102, 32, 105, 115, 32, 110, 111, 116, 32, 97, 32, 118, 97, 108, 105, 100, 32, 111, 112, 116, 105, 111, 110, }; static mxArray S226_ = mccCINIT( mccTEXT, 1, 24, S226__r_, 0); /* static array S227_ (1 x 26) text, line 389: 'dqvo is not a valid optio...' */ static unsigned short S227__r_[] = { 100, 113, 118, 111, 32, 105, 115, 32, 110, 111, 116, 32, 97, 32, 118, 97, 108, 105, 100, 32, 111, 112, 116, 105, 111, 110, }; static mxArray S227_ = mccCINIT( mccTEXT, 1, 26, S227__r_, 0); /* static array S228_ (1 x 33) text, line 556: 'preparation is not a vali...' */ static unsigned short S228__r_[] = { 112, 114, 101, 112, 97, 114, 97, 116, 105, 111, 110, 32, 105, 115, 32, 110, 111, 116, 32, 97, 32, 118, 97, 108, 105, 100, 32, 111, 112, 116, 105, 111, 110, }; static mxArray S228_ = mccCINIT( mccTEXT, 1, 33, S228__r_, 0); /* static array S229_ (1 x 26) text, line 623: 'baro is not a valid optio...' */ static unsigned short S229__r_[] = { 98, 97, 114, 111, 32, 105, 115, 32, 110, 111, 116, 32, 97, 32, 118, 97, 108, 105, 100, 32, 111, 112, 116, 105, 111, 110, }; static mxArray S229_ = mccCINIT( mccTEXT, 1, 26, S229__r_, 0); /* static array S230_ (1 x 2) text, line 636: '-1' */ static unsigned short S230__r_[] = { 45, 49, }; static mxArray S230_ = mccCINIT( mccTEXT, 1, 2, S230__r_, 0); /* static array S231_ (1 x 4) text, line 641: '.dat' */ static unsigned short S231__r_[] = { 46, 100, 97, 116, }; static mxArray S231_ = mccCINIT( mccTEXT, 1, 4, S231__r_, 0); /* static array S232_ (1 x 2) text, line 641: 'wa' */ static unsigned short S232__r_[] = { 119, 97, }; static mxArray S232_ = mccCINIT( mccTEXT, 1, 2, S232__r_, 0); /* static array S233_ (1 x 4) text, line 644: '.qrs' */ static unsigned short S233__r_[] = { 46, 113, 114, 115, }; static mxArray S233_ = mccCINIT( mccTEXT, 1, 4, S233__r_, 0); /* static array S234_ (1 x 2) text, line 644: 'wa' */ static unsigned short S234__r_[] = { 119, 97, }; static mxArray S234_ = mccCINIT( mccTEXT, 1, 2, S234__r_, 0); /* static array S235_ (1 x 5) text, line 645: 'bit10' */ static unsigned short S235__r_[] = { 98, 105, 116, 49, 48, }; static mxArray S235_ = mccCINIT( mccTEXT, 1, 5, S235__r_, 0); /* static array S236_ (1 x 5) text, line 646: 'ubit6' */ static unsigned short S236__r_[] = { 117, 98, 105, 116, 54, }; static mxArray S236_ = mccCINIT( mccTEXT, 1, 5, S236__r_, 0); /* static array S237_ (1 x 5) text, line 647: 'bit10' */ static unsigned short S237__r_[] = { 98, 105, 116, 49, 48, }; static mxArray S237_ = mccCINIT( mccTEXT, 1, 5, S237__r_, 0); /* static array S238_ (1 x 5) text, line 648: 'ubit6' */ static unsigned short S238__r_[] = { 117, 98, 105, 116, 54, }; static mxArray S238_ = mccCINIT( mccTEXT, 1, 5, S238__r_, 0); /* static array S239_ (1 x 5) text, line 650: 'bit10' */ static unsigned short S239__r_[] = { 98, 105, 116, 49, 48, }; static mxArray S239_ = mccCINIT( mccTEXT, 1, 5, S239__r_, 0); /* static array S240_ (1 x 5) text, line 651: 'ubit6' */ static unsigned short S240__r_[] = { 117, 98, 105, 116, 54, }; static mxArray S240_ = mccCINIT( mccTEXT, 1, 5, S240__r_, 0); /* static array S241_ (1 x 1) text, line 652: '.' */ static unsigned short S241__r_[] = { 46, }; static mxArray S241_ = mccCINIT( mccTEXT, 1, 1, S241__r_, 0); /* static array S242_ (1 x 6) text, line 652: '*uchar' */ static unsigned short S242__r_[] = { 42, 117, 99, 104, 97, 114, }; static mxArray S242_ = mccCINIT( mccTEXT, 1, 6, S242__r_, 0); /* static array S243_ (1 x 2) text, line 670: './' */ static unsigned short S243__r_[] = { 46, 47, }; static mxArray S243_ = mccCINIT( mccTEXT, 1, 2, S243__r_, 0); /* static array S244_ (1 x 2) text, line 1165: '-1' */ static unsigned short S244__r_[] = { 45, 49, }; static mxArray S244_ = mccCINIT( mccTEXT, 1, 2, S244__r_, 0); /* static array S245_ (1 x 1) text, line 1174: 'r' */ static unsigned short S245__r_[] = { 114, }; static mxArray S245_ = mccCINIT( mccTEXT, 1, 1, S245__r_, 0); /* static array S246_ (1 x 2) text, line 1567: '-1' */ static unsigned short S246__r_[] = { 45, 49, }; static mxArray S246_ = mccCINIT( mccTEXT, 1, 2, S246__r_, 0); /* static array S247_ (1 x 5) text, line 1571: 'short' */ static unsigned short S247__r_[] = { 115, 104, 111, 114, 116, }; static mxArray S247_ = mccCINIT( mccTEXT, 1, 5, S247__r_, 0); /* static array S248_ (1 x 5) text, line 1581: 'bit10' */ static unsigned short S248__r_[] = { 98, 105, 116, 49, 48, }; static mxArray S248_ = mccCINIT( mccTEXT, 1, 5, S248__r_, 0); /* static array S249_ (1 x 5) text, line 1582: 'ubit6' */ static unsigned short S249__r_[] = { 117, 98, 105, 116, 54, }; static mxArray S249_ = mccCINIT( mccTEXT, 1, 5, S249__r_, 0); /* static array S250_ (1 x 5) text, line 1589: 'bit10' */ static unsigned short S250__r_[] = { 98, 105, 116, 49, 48, }; static mxArray S250_ = mccCINIT( mccTEXT, 1, 5, S250__r_, 0); /* static array S251_ (1 x 5) text, line 1590: 'ubit6' */ static unsigned short S251__r_[] = { 117, 98, 105, 116, 54, }; static mxArray S251_ = mccCINIT( mccTEXT, 1, 5, S251__r_, 0); /* static array S252_ (1 x 1) text, line 1591: '.' */ static unsigned short S252__r_[] = { 46, }; static mxArray S252_ = mccCINIT( mccTEXT, 1, 1, S252__r_, 0); /* static array S253_ (1 x 6) text, line 1591: '*uchar' */ static unsigned short S253__r_[] = { 42, 117, 99, 104, 97, 114, }; static mxArray S253_ = mccCINIT( mccTEXT, 1, 6, S253__r_, 0); /* static array S254_ (1 x 2) text, line 1624: '-1' */ static unsigned short S254__r_[] = { 45, 49, }; static mxArray S254_ = mccCINIT( mccTEXT, 1, 2, S254__r_, 0); /* static array S255_ (1 x 5) text, line 1628: 'short' */ static unsigned short S255__r_[] = { 115, 104, 111, 114, 116, }; static mxArray S255_ = mccCINIT( mccTEXT, 1, 5, S255__r_, 0); /* static array S256_ (1 x 5) text, line 1635: 'bit10' */ static unsigned short S256__r_[] = { 98, 105, 116, 49, 48, }; static mxArray S256_ = mccCINIT( mccTEXT, 1, 5, S256__r_, 0); /* static array S257_ (1 x 5) text, line 1636: 'ubit6' */ static unsigned short S257__r_[] = { 117, 98, 105, 116, 54, }; static mxArray S257_ = mccCINIT( mccTEXT, 1, 5, S257__r_, 0); /* static array S258_ (1 x 5) text, line 1644: 'bit10' */ static unsigned short S258__r_[] = { 98, 105, 116, 49, 48, }; static mxArray S258_ = mccCINIT( mccTEXT, 1, 5, S258__r_, 0); /* static array S259_ (1 x 5) text, line 1645: 'ubit6' */ static unsigned short S259__r_[] = { 117, 98, 105, 116, 54, }; static mxArray S259_ = mccCINIT( mccTEXT, 1, 5, S259__r_, 0); /* static array S260_ (1 x 1) text, line 1646: '.' */ static unsigned short S260__r_[] = { 46, }; static mxArray S260_ = mccCINIT( mccTEXT, 1, 1, S260__r_, 0); /* static array S261_ (1 x 6) text, line 1646: '*uchar' */ static unsigned short S261__r_[] = { 42, 117, 99, 104, 97, 114, }; static mxArray S261_ = mccCINIT( mccTEXT, 1, 6, S261__r_, 0); /* static array S262_ (1 x 5) text, line 1651: 'bit10' */ static unsigned short S262__r_[] = { 98, 105, 116, 49, 48, }; static mxArray S262_ = mccCINIT( mccTEXT, 1, 5, S262__r_, 0); /* static array S263_ (1 x 5) text, line 1652: 'ubit6' */ static unsigned short S263__r_[] = { 117, 98, 105, 116, 54, }; static mxArray S263_ = mccCINIT( mccTEXT, 1, 5, S263__r_, 0); /* static array S264_ (1 x 6) int, line 98 */ static int S264r_[] = { 1, 0, 0, 1, 1, 1, }; static mxArray S264_ = mccCINIT( mccINT, 1, 6, S264r_, 0 ); /* static array S265_ (1 x 6) int, line 92 */ static int S265r_[] = { 1, 0, 0, 1, 1, 1, }; static mxArray S265_ = mccCINIT( mccINT, 1, 6, S265r_, 0 ); /* static array S266_ (1 x 2) int, line 44 */ static int S266r_[] = { 0, 0, }; static mxArray S266_ = mccCINIT( mccINT, 1, 2, S266r_, 0 ); /* static array S267_ (1 x 6) int, line 88 */ static int S267r_[] = { 1, 0, 0, 1, 1, 1, }; static mxArray S267_ = mccCINIT( mccINT, 1, 6, S267r_, 0 ); /* static array S268_ (1 x 6) int, line 85 */ static int S268r_[] = { 1, 0, 0, 1, 1, 1, }; static mxArray S268_ = mccCINIT( mccINT, 1, 6, S268r_, 0 ); /* static array S269_ (1 x 6) int, line 91 */ static int S269r_[] = { 1, 0, 0, 1, 1, 1, }; static mxArray S269_ = mccCINIT( mccINT, 1, 6, S269r_, 0 ); /* static array S270_ (1 x 6) int, line 98 */ static int S270r_[] = { 1, 0, 0, 1, 1, 1, }; static mxArray S270_ = mccCINIT( mccINT, 1, 6, S270r_, 0 ); /* static array S271_ (1 x 7) int, line 96 */ static int S271r_[] = { 1, 0, 0, 1, 1, 1, 0, }; static mxArray S271_ = mccCINIT( mccINT, 1, 7, S271r_, 0 ); /* static array S272_ (1 x 7) int, line 97 */ static int S272r_[] = { 1, 0, 0, 1, 1, 1, 0, }; static mxArray S272_ = mccCINIT( mccINT, 1, 7, S272r_, 0 ); /* static array S273_ (1 x 6) int, line 96 */ static int S273r_[] = { 1, 0, 0, 1, 1, 1, }; static mxArray S273_ = mccCINIT( mccINT, 1, 6, S273r_, 0 ); /* static array S274_ (1 x 8) int, line 104 */ static int S274r_[] = { 1, 0, 0, 1, 1, 1, 1, 1, }; static mxArray S274_ = mccCINIT( mccINT, 1, 8, S274r_, 0 ); static void intact_eval_deriv_(mxArray *, mxArray *, mxArray *, mxArray *, mxArray *, mxArray *); static void hlu_eval_deriv_(mxArray *, mxArray *, mxArray *, mxArray *, mxArray *, mxArray *); static void sc_eval_deriv_(mxArray *, mxArray *, mxArray *, mxArray *, mxArray *, mxArray *); static void lv_eval_deriv_(mxArray *, mxArray *, mxArray *, mxArray *, mxArray *, mxArray *); static void eval_deriv_(mxArray *, mxArray *, mxArray *, mxArray *, mxArray *, mxArray *); static void third_eval_deriv_(mxArray *, mxArray *, mxArray *, mxArray *, mxArray *, mxArray *); static void nac_eval_deriv_(mxArray *, mxArray *, mxArray *, mxArray *, mxArray *, mxArray *); static void third_nac_eval_deriv_(mxArray *, mxArray *, mxArray *, mxArray *, mxArray *, mxArray *); static void apr_eval_deriv_(mxArray *, mxArray *, mxArray *, mxArray *, mxArray *, mxArray *); static void a_eval_deriv_(mxArray *, mxArray *, mxArray *, mxArray *, mxArray *, mxArray *); /* static array S275_ (1 x 16) text, line 64: 'No root is found' */ static unsigned short S275__r_[] = { 78, 111, 32, 114, 111, 111, 116, 32, 105, 115, 32, 102, 111, 117, 110, 100, }; static mxArray S275_ = mccCINIT( mccTEXT, 1, 16, S275__r_, 0); static void sinc_(mxArray *, mxArray *); /* static array S276_ (1 x 17) text, line 94: '%%%END OF FILE%%%' */ static unsigned short S276__r_[] = { 37, 37, 37, 69, 78, 68, 32, 79, 70, 32, 70, 73, 76, 69, 37, 37, 37, }; static mxArray S276_ = mccCINIT( mccTEXT, 1, 17, S276__r_, 0); /* static array S277_ (1 x 1) text, line 96: '%' */ static unsigned short S277__r_[] = { 37, }; static mxArray S277_ = mccCINIT( mccTEXT, 1, 1, S277__r_, 0); /* static array S278_ (1 x 1) text, line 100: ':' */ static unsigned short S278__r_[] = { 58, }; static mxArray S278_ = mccCINIT( mccTEXT, 1, 1, S278__r_, 0); /* static array S279_ (1 x 1) text, line 104: ':' */ static unsigned short S279__r_[] = { 58, }; static mxArray S279_ = mccCINIT( mccTEXT, 1, 1, S279__r_, 0); /* static array S280_ (1 x 3) text, line 125: 'Cls' */ static unsigned short S280__r_[] = { 67, 108, 115, }; static mxArray S280_ = mccCINIT( mccTEXT, 1, 3, S280__r_, 0); /* static array S281_ (1 x 5) text, line 126: '%s %f' */ static unsigned short S281__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S281_ = mccCINIT( mccTEXT, 1, 5, S281__r_, 0); /* static array S282_ (1 x 3) text, line 128: 'Cld' */ static unsigned short S282__r_[] = { 67, 108, 100, }; static mxArray S282_ = mccCINIT( mccTEXT, 1, 3, S282__r_, 0); /* static array S283_ (1 x 5) text, line 129: '%s %f' */ static unsigned short S283__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S283_ = mccCINIT( mccTEXT, 1, 5, S283__r_, 0); /* static array S284_ (1 x 2) text, line 131: 'Ca' */ static unsigned short S284__r_[] = { 67, 97, }; static mxArray S284_ = mccCINIT( mccTEXT, 1, 2, S284__r_, 0); /* static array S285_ (1 x 5) text, line 132: '%s %f' */ static unsigned short S285__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S285_ = mccCINIT( mccTEXT, 1, 5, S285__r_, 0); /* static array S286_ (1 x 2) text, line 134: 'Cv' */ static unsigned short S286__r_[] = { 67, 118, }; static mxArray S286_ = mccCINIT( mccTEXT, 1, 2, S286__r_, 0); /* static array S287_ (1 x 5) text, line 135: '%s %f' */ static unsigned short S287__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S287_ = mccCINIT( mccTEXT, 1, 5, S287__r_, 0); /* static array S288_ (1 x 3) text, line 137: 'Crs' */ static unsigned short S288__r_[] = { 67, 114, 115, }; static mxArray S288_ = mccCINIT( mccTEXT, 1, 3, S288__r_, 0); /* static array S289_ (1 x 5) text, line 138: '%s %f' */ static unsigned short S289__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S289_ = mccCINIT( mccTEXT, 1, 5, S289__r_, 0); /* static array S290_ (1 x 3) text, line 140: 'Crd' */ static unsigned short S290__r_[] = { 67, 114, 100, }; static mxArray S290_ = mccCINIT( mccTEXT, 1, 3, S290__r_, 0); /* static array S291_ (1 x 5) text, line 141: '%s %f' */ static unsigned short S291__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S291_ = mccCINIT( mccTEXT, 1, 5, S291__r_, 0); /* static array S292_ (1 x 3) text, line 143: 'Cpa' */ static unsigned short S292__r_[] = { 67, 112, 97, }; static mxArray S292_ = mccCINIT( mccTEXT, 1, 3, S292__r_, 0); /* static array S293_ (1 x 5) text, line 144: '%s %f' */ static unsigned short S293__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S293_ = mccCINIT( mccTEXT, 1, 5, S293__r_, 0); /* static array S294_ (1 x 3) text, line 146: 'Cpv' */ static unsigned short S294__r_[] = { 67, 112, 118, }; static mxArray S294_ = mccCINIT( mccTEXT, 1, 3, S294__r_, 0); /* static array S295_ (1 x 5) text, line 147: '%s %f' */ static unsigned short S295__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S295_ = mccCINIT( mccTEXT, 1, 5, S295__r_, 0); /* static array S296_ (1 x 3) text, line 149: 'Qlo' */ static unsigned short S296__r_[] = { 81, 108, 111, }; static mxArray S296_ = mccCINIT( mccTEXT, 1, 3, S296__r_, 0); /* static array S297_ (1 x 5) text, line 150: '%s %f' */ static unsigned short S297__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S297_ = mccCINIT( mccTEXT, 1, 5, S297__r_, 0); /* static array S298_ (1 x 3) text, line 152: 'Qao' */ static unsigned short S298__r_[] = { 81, 97, 111, }; static mxArray S298_ = mccCINIT( mccTEXT, 1, 3, S298__r_, 0); /* static array S299_ (1 x 5) text, line 153: '%s %f' */ static unsigned short S299__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S299_ = mccCINIT( mccTEXT, 1, 5, S299__r_, 0); /* static array S300_ (1 x 3) text, line 155: 'Qvo' */ static unsigned short S300__r_[] = { 81, 118, 111, }; static mxArray S300_ = mccCINIT( mccTEXT, 1, 3, S300__r_, 0); /* static array S301_ (1 x 5) text, line 156: '%s %f' */ static unsigned short S301__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S301_ = mccCINIT( mccTEXT, 1, 5, S301__r_, 0); /* static array S302_ (1 x 3) text, line 158: 'Qro' */ static unsigned short S302__r_[] = { 81, 114, 111, }; static mxArray S302_ = mccCINIT( mccTEXT, 1, 3, S302__r_, 0); /* static array S303_ (1 x 5) text, line 159: '%s %f' */ static unsigned short S303__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S303_ = mccCINIT( mccTEXT, 1, 5, S303__r_, 0); /* static array S304_ (1 x 4) text, line 161: 'Qpao' */ static unsigned short S304__r_[] = { 81, 112, 97, 111, }; static mxArray S304_ = mccCINIT( mccTEXT, 1, 4, S304__r_, 0); /* static array S305_ (1 x 5) text, line 162: '%s %f' */ static unsigned short S305__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S305_ = mccCINIT( mccTEXT, 1, 5, S305__r_, 0); /* static array S306_ (1 x 4) text, line 164: 'Qpvo' */ static unsigned short S306__r_[] = { 81, 112, 118, 111, }; static mxArray S306_ = mccCINIT( mccTEXT, 1, 4, S306__r_, 0); /* static array S307_ (1 x 5) text, line 165: '%s %f' */ static unsigned short S307__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S307_ = mccCINIT( mccTEXT, 1, 5, S307__r_, 0); /* static array S308_ (1 x 2) text, line 167: 'Rl' */ static unsigned short S308__r_[] = { 82, 108, }; static mxArray S308_ = mccCINIT( mccTEXT, 1, 2, S308__r_, 0); /* static array S309_ (1 x 5) text, line 168: '%s %f' */ static unsigned short S309__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S309_ = mccCINIT( mccTEXT, 1, 5, S309__r_, 0); /* static array S310_ (1 x 2) text, line 170: 'Ra' */ static unsigned short S310__r_[] = { 82, 97, }; static mxArray S310_ = mccCINIT( mccTEXT, 1, 2, S310__r_, 0); /* static array S311_ (1 x 5) text, line 171: '%s %f' */ static unsigned short S311__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S311_ = mccCINIT( mccTEXT, 1, 5, S311__r_, 0); /* static array S312_ (1 x 2) text, line 173: 'Rv' */ static unsigned short S312__r_[] = { 82, 118, }; static mxArray S312_ = mccCINIT( mccTEXT, 1, 2, S312__r_, 0); /* static array S313_ (1 x 5) text, line 174: '%s %f' */ static unsigned short S313__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S313_ = mccCINIT( mccTEXT, 1, 5, S313__r_, 0); /* static array S314_ (1 x 2) text, line 176: 'Rr' */ static unsigned short S314__r_[] = { 82, 114, }; static mxArray S314_ = mccCINIT( mccTEXT, 1, 2, S314__r_, 0); /* static array S315_ (1 x 5) text, line 177: '%s %f' */ static unsigned short S315__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S315_ = mccCINIT( mccTEXT, 1, 5, S315__r_, 0); /* static array S316_ (1 x 3) text, line 179: 'Rpa' */ static unsigned short S316__r_[] = { 82, 112, 97, }; static mxArray S316_ = mccCINIT( mccTEXT, 1, 3, S316__r_, 0); /* static array S317_ (1 x 5) text, line 180: '%s %f' */ static unsigned short S317__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S317_ = mccCINIT( mccTEXT, 1, 5, S317__r_, 0); /* static array S318_ (1 x 3) text, line 182: 'Rpv' */ static unsigned short S318__r_[] = { 82, 112, 118, }; static mxArray S318_ = mccCINIT( mccTEXT, 1, 3, S318__r_, 0); /* static array S319_ (1 x 5) text, line 183: '%s %f' */ static unsigned short S319__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S319_ = mccCINIT( mccTEXT, 1, 5, S319__r_, 0); /* static array S320_ (1 x 4) text, line 185: 'Qtot' */ static unsigned short S320__r_[] = { 81, 116, 111, 116, }; static mxArray S320_ = mccCINIT( mccTEXT, 1, 4, S320__r_, 0); /* static array S321_ (1 x 5) text, line 186: '%s %f' */ static unsigned short S321__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S321_ = mccCINIT( mccTEXT, 1, 5, S321__r_, 0); /* static array S322_ (1 x 1) text, line 188: 'F' */ static unsigned short S322__r_[] = { 70, }; static mxArray S322_ = mccCINIT( mccTEXT, 1, 1, S322__r_, 0); /* static array S323_ (1 x 5) text, line 189: '%s %f' */ static unsigned short S323__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S323_ = mccCINIT( mccTEXT, 1, 5, S323__r_, 0); /* static array S324_ (1 x 5) text, line 197: 'Qlmax' */ static unsigned short S324__r_[] = { 81, 108, 109, 97, 120, }; static mxArray S324_ = mccCINIT( mccTEXT, 1, 5, S324__r_, 0); /* static array S325_ (1 x 5) text, line 198: '%s %f' */ static unsigned short S325__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S325_ = mccCINIT( mccTEXT, 1, 5, S325__r_, 0); /* static array S326_ (1 x 5) text, line 200: 'Qrmax' */ static unsigned short S326__r_[] = { 81, 114, 109, 97, 120, }; static mxArray S326_ = mccCINIT( mccTEXT, 1, 5, S326__r_, 0); /* static array S327_ (1 x 5) text, line 201: '%s %f' */ static unsigned short S327__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S327_ = mccCINIT( mccTEXT, 1, 5, S327__r_, 0); /* static array S328_ (1 x 3) text, line 203: 'Ppa' */ static unsigned short S328__r_[] = { 80, 112, 97, }; static mxArray S328_ = mccCINIT( mccTEXT, 1, 3, S328__r_, 0); /* static array S329_ (1 x 5) text, line 204: '%s %f' */ static unsigned short S329__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S329_ = mccCINIT( mccTEXT, 1, 5, S329__r_, 0); /* static array S330_ (1 x 2) text, line 206: 'Pa' */ static unsigned short S330__r_[] = { 80, 97, }; static mxArray S330_ = mccCINIT( mccTEXT, 1, 2, S330__r_, 0); /* static array S331_ (1 x 5) text, line 207: '%s %f' */ static unsigned short S331__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S331_ = mccCINIT( mccTEXT, 1, 5, S331__r_, 0); /* static array S332_ (1 x 2) text, line 209: 'Pv' */ static unsigned short S332__r_[] = { 80, 118, }; static mxArray S332_ = mccCINIT( mccTEXT, 1, 2, S332__r_, 0); /* static array S333_ (1 x 5) text, line 210: '%s %f' */ static unsigned short S333__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S333_ = mccCINIT( mccTEXT, 1, 5, S333__r_, 0); /* static array S334_ (1 x 5) text, line 212: 'Plmax' */ static unsigned short S334__r_[] = { 80, 108, 109, 97, 120, }; static mxArray S334_ = mccCINIT( mccTEXT, 1, 5, S334__r_, 0); /* static array S335_ (1 x 5) text, line 213: '%s %f' */ static unsigned short S335__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S335_ = mccCINIT( mccTEXT, 1, 5, S335__r_, 0); /* static array S336_ (1 x 5) text, line 215: 'Prmax' */ static unsigned short S336__r_[] = { 80, 114, 109, 97, 120, }; static mxArray S336_ = mccCINIT( mccTEXT, 1, 5, S336__r_, 0); /* static array S337_ (1 x 5) text, line 216: '%s %f' */ static unsigned short S337__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S337_ = mccCINIT( mccTEXT, 1, 5, S337__r_, 0); /* static array S338_ (1 x 3) text, line 218: 'Pms' */ static unsigned short S338__r_[] = { 80, 109, 115, }; static mxArray S338_ = mccCINIT( mccTEXT, 1, 3, S338__r_, 0); /* static array S339_ (1 x 5) text, line 219: '%s %f' */ static unsigned short S339__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S339_ = mccCINIT( mccTEXT, 1, 5, S339__r_, 0); /* static array S340_ (1 x 4) text, line 221: 'Qfrs' */ static unsigned short S340__r_[] = { 81, 102, 114, 115, }; static mxArray S340_ = mccCINIT( mccTEXT, 1, 4, S340__r_, 0); /* static array S341_ (1 x 5) text, line 222: '%s %f' */ static unsigned short S341__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S341_ = mccCINIT( mccTEXT, 1, 5, S341__r_, 0); /* static array S342_ (1 x 6) text, line 224: 'againr' */ static unsigned short S342__r_[] = { 97, 103, 97, 105, 110, 114, }; static mxArray S342_ = mccCINIT( mccTEXT, 1, 6, S342__r_, 0); /* static array S343_ (1 x 5) text, line 225: '%s %f' */ static unsigned short S343__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S343_ = mccCINIT( mccTEXT, 1, 5, S343__r_, 0); /* static array S344_ (1 x 5) text, line 227: 'bgain' */ static unsigned short S344__r_[] = { 98, 103, 97, 105, 110, }; static mxArray S344_ = mccCINIT( mccTEXT, 1, 5, S344__r_, 0); /* static array S345_ (1 x 5) text, line 228: '%s %f' */ static unsigned short S345__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S345_ = mccCINIT( mccTEXT, 1, 5, S345__r_, 0); /* static array S346_ (1 x 5) text, line 230: 'pgain' */ static unsigned short S346__r_[] = { 112, 103, 97, 105, 110, }; static mxArray S346_ = mccCINIT( mccTEXT, 1, 5, S346__r_, 0); /* static array S347_ (1 x 5) text, line 231: '%s %f' */ static unsigned short S347__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S347_ = mccCINIT( mccTEXT, 1, 5, S347__r_, 0); /* static array S348_ (1 x 4) text, line 233: 'Pasp' */ static unsigned short S348__r_[] = { 80, 97, 115, 112, }; static mxArray S348_ = mccCINIT( mccTEXT, 1, 4, S348__r_, 0); /* static array S349_ (1 x 5) text, line 234: '%s %f' */ static unsigned short S349__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S349_ = mccCINIT( mccTEXT, 1, 5, S349__r_, 0); /* static array S350_ (1 x 7) text, line 236: 'Pratrsp' */ static unsigned short S350__r_[] = { 80, 114, 97, 116, 114, 115, 112, }; static mxArray S350_ = mccCINIT( mccTEXT, 1, 7, S350__r_, 0); /* static array S351_ (1 x 5) text, line 237: '%s %f' */ static unsigned short S351__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S351_ = mccCINIT( mccTEXT, 1, 5, S351__r_, 0); /* static array S352_ (1 x 2) text, line 239: 'Tr' */ static unsigned short S352__r_[] = { 84, 114, }; static mxArray S352_ = mccCINIT( mccTEXT, 1, 2, S352__r_, 0); /* static array S353_ (1 x 5) text, line 240: '%s %f' */ static unsigned short S353__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S353_ = mccCINIT( mccTEXT, 1, 5, S353__r_, 0); /* static array S354_ (1 x 3) text, line 242: 'fco' */ static unsigned short S354__r_[] = { 102, 99, 111, }; static mxArray S354_ = mccCINIT( mccTEXT, 1, 3, S354__r_, 0); /* static array S355_ (1 x 5) text, line 243: '%s %f' */ static unsigned short S355__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S355_ = mccCINIT( mccTEXT, 1, 5, S355__r_, 0); /* static array S356_ (1 x 2) text, line 245: 'Sa' */ static unsigned short S356__r_[] = { 83, 97, }; static mxArray S356_ = mccCINIT( mccTEXT, 1, 2, S356__r_, 0); /* static array S357_ (1 x 5) text, line 246: '%s %f' */ static unsigned short S357__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S357_ = mccCINIT( mccTEXT, 1, 5, S357__r_, 0); /* static array S358_ (1 x 5) text, line 248: 'stdwr' */ static unsigned short S358__r_[] = { 115, 116, 100, 119, 114, }; static mxArray S358_ = mccCINIT( mccTEXT, 1, 5, S358__r_, 0); /* static array S359_ (1 x 5) text, line 249: '%s %f' */ static unsigned short S359__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S359_ = mccCINIT( mccTEXT, 1, 5, S359__r_, 0); /* static array S360_ (1 x 5) text, line 251: 'stdwf' */ static unsigned short S360__r_[] = { 115, 116, 100, 119, 102, }; static mxArray S360_ = mccCINIT( mccTEXT, 1, 5, S360__r_, 0); /* static array S361_ (1 x 5) text, line 252: '%s %f' */ static unsigned short S361__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S361_ = mccCINIT( mccTEXT, 1, 5, S361__r_, 0); /* static array S362_ (1 x 6) text, line 254: 'dgainp' */ static unsigned short S362__r_[] = { 100, 103, 97, 105, 110, 112, }; static mxArray S362_ = mccCINIT( mccTEXT, 1, 6, S362__r_, 0); /* static array S363_ (1 x 5) text, line 255: '%s %f' */ static unsigned short S363__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S363_ = mccCINIT( mccTEXT, 1, 5, S363__r_, 0); /* static array S364_ (1 x 6) text, line 257: 'dgains' */ static unsigned short S364__r_[] = { 100, 103, 97, 105, 110, 115, }; static mxArray S364_ = mccCINIT( mccTEXT, 1, 6, S364__r_, 0); /* static array S365_ (1 x 5) text, line 258: '%s %f' */ static unsigned short S365__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S365_ = mccCINIT( mccTEXT, 1, 5, S365__r_, 0); /* static array S366_ (1 x 6) text, line 260: 'againq' */ static unsigned short S366__r_[] = { 97, 103, 97, 105, 110, 113, }; static mxArray S366_ = mccCINIT( mccTEXT, 1, 6, S366__r_, 0); /* static array S367_ (1 x 5) text, line 261: '%s %f' */ static unsigned short S367__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S367_ = mccCINIT( mccTEXT, 1, 5, S367__r_, 0); /* static array S368_ (1 x 6) text, line 263: 'cgainr' */ static unsigned short S368__r_[] = { 99, 103, 97, 105, 110, 114, }; static mxArray S368_ = mccCINIT( mccTEXT, 1, 6, S368__r_, 0); /* static array S369_ (1 x 5) text, line 264: '%s %f' */ static unsigned short S369__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S369_ = mccCINIT( mccTEXT, 1, 5, S369__r_, 0); /* static array S370_ (1 x 6) text, line 266: 'cgainq' */ static unsigned short S370__r_[] = { 99, 103, 97, 105, 110, 113, }; static mxArray S370_ = mccCINIT( mccTEXT, 1, 6, S370__r_, 0); /* static array S371_ (1 x 5) text, line 267: '%s %f' */ static unsigned short S371__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S371_ = mccCINIT( mccTEXT, 1, 5, S371__r_, 0); /* static array S372_ (1 x 7) text, line 269: 'cgainfp' */ static unsigned short S372__r_[] = { 99, 103, 97, 105, 110, 102, 112, }; static mxArray S372_ = mccCINIT( mccTEXT, 1, 7, S372__r_, 0); /* static array S373_ (1 x 5) text, line 270: '%s %f' */ static unsigned short S373__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S373_ = mccCINIT( mccTEXT, 1, 5, S373__r_, 0); /* static array S374_ (1 x 2) text, line 272: 'Sc' */ static unsigned short S374__r_[] = { 83, 99, }; static mxArray S374_ = mccCINIT( mccTEXT, 1, 2, S374__r_, 0); /* static array S375_ (1 x 5) text, line 273: '%s %f' */ static unsigned short S375__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S375_ = mccCINIT( mccTEXT, 1, 5, S375__r_, 0); /* static array S376_ (1 x 2) text, line 275: 'Qt' */ static unsigned short S376__r_[] = { 81, 116, }; static mxArray S376_ = mccCINIT( mccTEXT, 1, 2, S376__r_, 0); /* static array S377_ (1 x 5) text, line 276: '%s %f' */ static unsigned short S377__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S377_ = mccCINIT( mccTEXT, 1, 5, S377__r_, 0); /* static array S378_ (1 x 3) text, line 278: 'Pvs' */ static unsigned short S378__r_[] = { 80, 118, 115, }; static mxArray S378_ = mccCINIT( mccTEXT, 1, 3, S378__r_, 0); /* static array S379_ (1 x 5) text, line 279: '%s %f' */ static unsigned short S379__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S379_ = mccCINIT( mccTEXT, 1, 5, S379__r_, 0); /* static array S380_ (1 x 4) text, line 281: 'Crds' */ static unsigned short S380__r_[] = { 67, 114, 100, 115, }; static mxArray S380_ = mccCINIT( mccTEXT, 1, 4, S380__r_, 0); /* static array S381_ (1 x 5) text, line 282: '%s %f' */ static unsigned short S381__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S381_ = mccCINIT( mccTEXT, 1, 5, S381__r_, 0); /* static array S382_ (1 x 3) text, line 284: 'Pas' */ static unsigned short S382__r_[] = { 80, 97, 115, }; static mxArray S382_ = mccCINIT( mccTEXT, 1, 3, S382__r_, 0); /* static array S383_ (1 x 5) text, line 285: '%s %f' */ static unsigned short S383__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S383_ = mccCINIT( mccTEXT, 1, 5, S383__r_, 0); /* static array S384_ (1 x 3) text, line 287: 'Pvc' */ static unsigned short S384__r_[] = { 80, 118, 99, }; static mxArray S384_ = mccCINIT( mccTEXT, 1, 3, S384__r_, 0); /* static array S385_ (1 x 5) text, line 288: '%s %f' */ static unsigned short S385__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S385_ = mccCINIT( mccTEXT, 1, 5, S385__r_, 0); /* static array S386_ (1 x 5) text, line 290: 'again' */ static unsigned short S386__r_[] = { 97, 103, 97, 105, 110, }; static mxArray S386_ = mccCINIT( mccTEXT, 1, 5, S386__r_, 0); /* static array S387_ (1 x 5) text, line 291: '%s %f' */ static unsigned short S387__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S387_ = mccCINIT( mccTEXT, 1, 5, S387__r_, 0); /* static array S388_ (1 x 6) text, line 293: 'againc' */ static unsigned short S388__r_[] = { 97, 103, 97, 105, 110, 99, }; static mxArray S388_ = mccCINIT( mccTEXT, 1, 6, S388__r_, 0); /* static array S389_ (1 x 5) text, line 294: '%s %f' */ static unsigned short S389__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S389_ = mccCINIT( mccTEXT, 1, 5, S389__r_, 0); /* static array S390_ (1 x 6) text, line 296: 'cgainc' */ static unsigned short S390__r_[] = { 99, 103, 97, 105, 110, 99, }; static mxArray S390_ = mccCINIT( mccTEXT, 1, 6, S390__r_, 0); /* static array S391_ (1 x 5) text, line 297: '%s %f' */ static unsigned short S391__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S391_ = mccCINIT( mccTEXT, 1, 5, S391__r_, 0); /* static array S392_ (1 x 7) text, line 299: 'againfs' */ static unsigned short S392__r_[] = { 97, 103, 97, 105, 110, 102, 115, }; static mxArray S392_ = mccCINIT( mccTEXT, 1, 7, S392__r_, 0); /* static array S393_ (1 x 5) text, line 300: '%s %f' */ static unsigned short S393__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S393_ = mccCINIT( mccTEXT, 1, 5, S393__r_, 0); /* static array S394_ (1 x 7) text, line 302: 'cgainfs' */ static unsigned short S394__r_[] = { 99, 103, 97, 105, 110, 102, 115, }; static mxArray S394_ = mccCINIT( mccTEXT, 1, 7, S394__r_, 0); /* static array S395_ (1 x 5) text, line 303: '%s %f' */ static unsigned short S395__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S395_ = mccCINIT( mccTEXT, 1, 5, S395__r_, 0); /* static array S396_ (1 x 7) text, line 305: 'againfp' */ static unsigned short S396__r_[] = { 97, 103, 97, 105, 110, 102, 112, }; static mxArray S396_ = mccCINIT( mccTEXT, 1, 7, S396__r_, 0); /* static array S397_ (1 x 5) text, line 306: '%s %f' */ static unsigned short S397__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S397_ = mccCINIT( mccTEXT, 1, 5, S397__r_, 0); /* static array S398_ (1 x 4) text, line 308: 'time' */ static unsigned short S398__r_[] = { 116, 105, 109, 101, }; static mxArray S398_ = mccCINIT( mccTEXT, 1, 4, S398__r_, 0); /* static array S399_ (1 x 5) text, line 309: '%s %f' */ static unsigned short S399__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S399_ = mccCINIT( mccTEXT, 1, 5, S399__r_, 0); /* static array S400_ (1 x 11) text, line 311: 'preparation' */ static unsigned short S400__r_[] = { 112, 114, 101, 112, 97, 114, 97, 116, 105, 111, 110, }; static mxArray S400_ = mccCINIT( mccTEXT, 1, 11, S400__r_, 0); /* static array S401_ (1 x 5) text, line 312: '%s %f' */ static unsigned short S401__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S401_ = mccCINIT( mccTEXT, 1, 5, S401__r_, 0); /* static array S402_ (1 x 9) text, line 314: 'breathing' */ static unsigned short S402__r_[] = { 98, 114, 101, 97, 116, 104, 105, 110, 103, }; static mxArray S402_ = mccCINIT( mccTEXT, 1, 9, S402__r_, 0); /* static array S403_ (1 x 5) text, line 315: '%s %f' */ static unsigned short S403__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S403_ = mccCINIT( mccTEXT, 1, 5, S403__r_, 0); /* static array S404_ (1 x 4) text, line 317: 'dncm' */ static unsigned short S404__r_[] = { 100, 110, 99, 109, }; static mxArray S404_ = mccCINIT( mccTEXT, 1, 4, S404__r_, 0); /* static array S405_ (1 x 5) text, line 318: '%s %f' */ static unsigned short S405__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S405_ = mccCINIT( mccTEXT, 1, 5, S405__r_, 0); /* static array S406_ (1 x 4) text, line 320: 'baro' */ static unsigned short S406__r_[] = { 98, 97, 114, 111, }; static mxArray S406_ = mccCINIT( mccTEXT, 1, 4, S406__r_, 0); /* static array S407_ (1 x 5) text, line 321: '%s %f' */ static unsigned short S407__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S407_ = mccCINIT( mccTEXT, 1, 5, S407__r_, 0); /* static array S408_ (1 x 3) text, line 323: 'dra' */ static unsigned short S408__r_[] = { 100, 114, 97, }; static mxArray S408_ = mccCINIT( mccTEXT, 1, 3, S408__r_, 0); /* static array S409_ (1 x 5) text, line 324: '%s %f' */ static unsigned short S409__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S409_ = mccCINIT( mccTEXT, 1, 5, S409__r_, 0); /* static array S410_ (1 x 2) text, line 326: 'df' */ static unsigned short S410__r_[] = { 100, 102, }; static mxArray S410_ = mccCINIT( mccTEXT, 1, 2, S410__r_, 0); /* static array S411_ (1 x 5) text, line 327: '%s %f' */ static unsigned short S411__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S411_ = mccCINIT( mccTEXT, 1, 5, S411__r_, 0); /* static array S412_ (1 x 2) text, line 329: 'Fs' */ static unsigned short S412__r_[] = { 70, 115, }; static mxArray S412_ = mccCINIT( mccTEXT, 1, 2, S412__r_, 0); /* static array S413_ (1 x 5) text, line 330: '%s %f' */ static unsigned short S413__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S413_ = mccCINIT( mccTEXT, 1, 5, S413__r_, 0); /* static array S414_ (1 x 3) text, line 332: 'Qfr' */ static unsigned short S414__r_[] = { 81, 102, 114, }; static mxArray S414_ = mccCINIT( mccTEXT, 1, 3, S414__r_, 0); /* static array S415_ (1 x 5) text, line 333: '%s %f' */ static unsigned short S415__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S415_ = mccCINIT( mccTEXT, 1, 5, S415__r_, 0); /* static array S416_ (1 x 3) text, line 335: 'Qds' */ static unsigned short S416__r_[] = { 81, 100, 115, }; static mxArray S416_ = mccCINIT( mccTEXT, 1, 3, S416__r_, 0); /* static array S417_ (1 x 5) text, line 336: '%s %f' */ static unsigned short S417__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S417_ = mccCINIT( mccTEXT, 1, 5, S417__r_, 0); /* static array S418_ (1 x 4) text, line 338: 'Rair' */ static unsigned short S418__r_[] = { 82, 97, 105, 114, }; static mxArray S418_ = mccCINIT( mccTEXT, 1, 4, S418__r_, 0); /* static array S419_ (1 x 5) text, line 339: '%s %f' */ static unsigned short S419__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S419_ = mccCINIT( mccTEXT, 1, 5, S419__r_, 0); /* static array S420_ (1 x 3) text, line 341: 'Clu' */ static unsigned short S420__r_[] = { 67, 108, 117, }; static mxArray S420_ = mccCINIT( mccTEXT, 1, 3, S420__r_, 0); /* static array S421_ (1 x 5) text, line 342: '%s %f' */ static unsigned short S421__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S421_ = mccCINIT( mccTEXT, 1, 5, S421__r_, 0); /* static array S422_ (1 x 4) text, line 344: 'Qluo' */ static unsigned short S422__r_[] = { 81, 108, 117, 111, }; static mxArray S422_ = mccCINIT( mccTEXT, 1, 4, S422__r_, 0); /* static array S423_ (1 x 5) text, line 345: '%s %f' */ static unsigned short S423__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S423_ = mccCINIT( mccTEXT, 1, 5, S423__r_, 0); /* static array S424_ (1 x 6) text, line 350: 'window' */ static unsigned short S424__r_[] = { 119, 105, 110, 100, 111, 119, }; static mxArray S424_ = mccCINIT( mccTEXT, 1, 6, S424__r_, 0); /* static array S425_ (1 x 5) text, line 351: '%s %f' */ static unsigned short S425__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S425_ = mccCINIT( mccTEXT, 1, 5, S425__r_, 0); /* static array S426_ (1 x 11) text, line 353: 'annotations' */ static unsigned short S426__r_[] = { 97, 110, 110, 111, 116, 97, 116, 105, 111, 110, 115, }; static mxArray S426_ = mccCINIT( mccTEXT, 1, 11, S426__r_, 0); /* static array S427_ (1 x 5) text, line 354: '%s %f' */ static unsigned short S427__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S427_ = mccCINIT( mccTEXT, 1, 5, S427__r_, 0); /* static array S428_ (1 x 8) text, line 356: 'numerics' */ static unsigned short S428__r_[] = { 110, 117, 109, 101, 114, 105, 99, 115, }; static mxArray S428_ = mccCINIT( mccTEXT, 1, 8, S428__r_, 0); /* static array S429_ (1 x 5) text, line 357: '%s %f' */ static unsigned short S429__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S429_ = mccCINIT( mccTEXT, 1, 5, S429__r_, 0); /* static array S430_ (1 x 8) text, line 359: 'waveform' */ static unsigned short S430__r_[] = { 119, 97, 118, 101, 102, 111, 114, 109, }; static mxArray S430_ = mccCINIT( mccTEXT, 1, 8, S430__r_, 0); /* static array S431_ (1 x 1) text, line 360: ':' */ static unsigned short S431__r_[] = { 58, }; static mxArray S431_ = mccCINIT( mccTEXT, 1, 1, S431__r_, 0); /* static array S432_ (1 x 5) text, line 362: 'alpha' */ static unsigned short S432__r_[] = { 97, 108, 112, 104, 97, }; static mxArray S432_ = mccCINIT( mccTEXT, 1, 5, S432__r_, 0); /* static array S433_ (1 x 5) text, line 363: '%s %f' */ static unsigned short S433__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S433_ = mccCINIT( mccTEXT, 1, 5, S433__r_, 0); /* static array S434_ (1 x 4) text, line 365: 'step' */ static unsigned short S434__r_[] = { 115, 116, 101, 112, }; static mxArray S434_ = mccCINIT( mccTEXT, 1, 4, S434__r_, 0); /* static array S435_ (1 x 5) text, line 366: '%s %f' */ static unsigned short S435__r_[] = { 37, 115, 32, 37, 102, }; static mxArray S435_ = mccCINIT( mccTEXT, 1, 5, S435__r_, 0); /* static array S436_ (1 x 4) int, line 24 */ static int S436r_[] = { 2, 3, 5, 6, }; static mxArray S436_ = mccCINIT( mccINT, 1, 4, S436r_, 0 ); /* static array S437_ (1 x 4) int, line 24 */ static int S437r_[] = { 2, 3, 5, 6, }; static mxArray S437_ = mccCINIT( mccINT, 1, 4, S437r_, 0 ); /* static array S438_ (1 x 4) int, line 24 */ static int S438r_[] = { 10, 11, 13, 14, }; static mxArray S438_ = mccCINIT( mccINT, 1, 4, S438r_, 0 ); /* static array S439_ (1 x 4) int, line 24 */ static int S439r_[] = { 3, 4, 7, 8, }; static mxArray S439_ = mccCINIT( mccINT, 1, 4, S439r_, 0 ); /* static array S440_ (4 x 1) int, line 24 */ static int S440r_[] = { 0, 0, 1, 1, }; static mxArray S440_ = mccCINIT( mccINT, 4, 1, S440r_, 0 ); /* static array S441_ (1 x 3) int, line 54 */ static int S441r_[] = { 36, 42, 77, }; static mxArray S441_ = mccCINIT( mccINT, 1, 3, S441r_, 0 ); /* static array S442_ (1 x 3) int, line 54 */ static int S442r_[] = { 36, 42, 77, }; static mxArray S442_ = mccCINIT( mccINT, 1, 3, S442r_, 0 ); /* static array S443_ (1 x 3) int, line 58 */ static int S443r_[] = { 36, 42, 77, }; static mxArray S443_ = mccCINIT( mccINT, 1, 3, S443r_, 0 ); /* static array S444_ (1 x 3) int, line 58 */ static int S444r_[] = { 36, 42, 77, }; static mxArray S444_ = mccCINIT( mccINT, 1, 3, S444r_, 0 ); /* static array S445_ (1 x 2) int, line 99 */ static int S445r_[] = { 44, 47, }; static mxArray S445_ = mccCINIT( mccINT, 1, 2, S445r_, 0 ); /* static array S446_ (1 x 2) int, line 99 */ static int S446r_[] = { 44, 47, }; static mxArray S446_ = mccCINIT( mccINT, 1, 2, S446r_, 0 ); /***************** Compiler Assumptions **************** * M-File: /data/rmukkama/cvsim/rcvsim/src/rcvsim.m * * B0_ boolean scalar temporary * I0_ integer scalar temporary * I1_ integer scalar temporary * IM0_ integer vector/matrix temporary * IM1_ integer vector/matrix temporary * IM2_ integer vector/matrix temporary * Nbytes integer scalar * P real vector/matrix * R0_ real scalar temporary * RM0_ real vector/matrix temporary * RM10_ real vector/matrix temporary * RM11_ real vector/matrix temporary * RM12_ real vector/matrix temporary * RM13_ real vector/matrix temporary * RM14_ real vector/matrix temporary * RM1_ real vector/matrix temporary * RM2_ real vector/matrix temporary * RM3_ real vector/matrix temporary * RM4_ real vector/matrix temporary * RM5_ real vector/matrix temporary * RM6_ real vector/matrix temporary * RM7_ real vector/matrix temporary * RM8_ real vector/matrix temporary * RM9_ real vector/matrix temporary * TM0_ string vector/matrix temporary * TM1_ string vector/matrix temporary * TM2_ string vector/matrix temporary * TM3_ string vector/matrix temporary * TM4_ string vector/matrix temporary * TM5_ string vector/matrix temporary * TM6_ string vector/matrix temporary * X real vector/matrix * ap real vector/matrix * baro real scalar * breathing real scalar * df real scalar * diff * display * dncm real scalar * dra real scalar * fclose * fid integer scalar * fid1 integer vector/matrix * fid2 integer scalar * fid3 integer vector/matrix * fidp integer scalar * flag real vector/matrix * fopen * fprintf * fwrite * i integer scalar * length * mbintscalar * nargin * num real vector/matrix * num2str * outputfile string vector/matrix * parameterfile string vector/matrix * plot_cfvr * preparation real scalar * q real vector/matrix * qrs real vector/matrix * qrso real vector/matrix * main * read_param * signals integer vector/matrix * simulate * strcmp * t real vector/matrix * th real vector/matrix * v real vector/matrix * ve real vector/matrix * write_param * y boolean scalar *******************************************************/ int main(int argc, char **argv) { mxArray *Mplhs_[3]; mxArray rhs_[12]; int nlhs_=1, nrhs_=0; mxArray *parameterfile_rhs_; mxArray *outputfile_rhs_; mlfInitFcn(); { static int feval_inited_ = 0; if (!feval_inited_) { mlfFevalTableSetup( mlfUfuncTable ); feval_inited_ = 1; } } parameterfile_rhs_ = (argc >1) ? mxCreateString( argv[1]) : NULL; outputfile_rhs_ = (argc >2) ? mxCreateString( argv[2]) : NULL; if (parameterfile_rhs_) { ++nrhs_; } if (outputfile_rhs_) { ++nrhs_; } mcmSetLineNumber(0); { mxArray parameterfile; mxArray outputfile; int fidp = 0; unsigned short y = 0; mxArray th; mxArray signals; double preparation = 0.0; double breathing = 0.0; double dncm = 0.0; double baro = 0.0; double dra = 0.0; double df = 0.0; mxArray flag; mxArray fid1; mxArray P; mxArray v; mxArray q; mxArray ap; mxArray ve; mxArray qrs; mxArray t; mxArray num; mxArray X; int fid = 0; int fid2 = 0; int Nbytes = 0; mxArray qrso; int i = 0; mxArray fid3; int I0_ = 0; unsigned short B0_ = 0; mxArray IM0_; mxArray TM0_; mxArray TM1_; mxArray RM0_; mxArray RM1_; mxArray RM2_; mxArray RM3_; mxArray RM4_; mxArray RM5_; mxArray RM6_; mxArray RM7_; mxArray RM8_; mxArray RM9_; mxArray RM10_; mxArray RM11_; mxArray RM12_; mxArray RM13_; mxArray RM14_; mxArray IM1_; mxArray IM2_; mxArray TM2_; mxArray TM3_; mxArray TM4_; mxArray TM5_; mxArray TM6_; int I1_ = 0; double R0_ = 0.0; mccTextInit(parameterfile); mccImport(¶meterfile, parameterfile_rhs_, 0, 0); mccTextInit(outputfile); mccImport(&outputfile, outputfile_rhs_, 0, 0); mccRealInit(th); mccIntInit(signals); mccRealInit(flag); mccIntInit(fid1); mccRealInit(P); mccRealInit(v); mccRealInit(q); mccRealInit(ap); mccRealInit(ve); mccRealInit(qrs); mccRealInit(t); mccRealInit(num); mccRealInit(X); mccRealInit(qrso); mccIntInit(fid3); mccIntInit(IM0_); mccTextInit(TM0_); mccTextInit(TM1_); mccRealInit(RM0_); mccRealInit(RM1_); mccRealInit(RM2_); mccRealInit(RM3_); mccRealInit(RM4_); mccRealInit(RM5_); mccRealInit(RM6_); mccRealInit(RM7_); mccRealInit(RM8_); mccRealInit(RM9_); mccRealInit(RM10_); mccRealInit(RM11_); mccRealInit(RM12_); mccRealInit(RM13_); mccRealInit(RM14_); mccIntInit(IM1_); mccIntInit(IM2_); mccTextInit(TM2_); mccTextInit(TM3_); mccTextInit(TM4_); mccTextInit(TM5_); mccTextInit(TM6_); /* if (nargin < 1) */ I0_ = mccNargin(); B0_ = (I0_ < 1); if ((double)B0_) { /* display(['Usage: rcvsim parameterfile outputfile']); */ mccFixInternalMatrix( &(rhs_[0]), &S0_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display([' rcvsim -h for help']); */ mccFixInternalMatrix( &(rhs_[0]), &S1_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); } else { /* elseif (nargin == 1 & feval('strcmp',parameterfile,'-h') == 1) */ I0_ = mccNargin(); B0_ = (I0_ == 1); if ((double)B0_) { B0_ = (mccStrcmp(¶meterfile, &S2_) == 1); } if ((double)B0_) { /* display(['The function rcvsim executes a computational model of the']); */ mccFixInternalMatrix( &(rhs_[0]), &S3_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display(['cardiovascular system. The model includes the following']); */ mccFixInternalMatrix( &(rhs_[0]), &S4_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display(['components:']); */ mccFixInternalMatrix( &(rhs_[0]), &S5_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display(['1) lumped parameter, pulsatile heart and circulation (intact,']); */ mccFixInternalMatrix( &(rhs_[0]), &S6_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display([' heart-lung unit, or systemic circulation)']); */ mccFixInternalMatrix( &(rhs_[0]), &S7_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display(['2) short-term regulatory system']); */ mccFixInternalMatrix( &(rhs_[0]), &S8_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display([' a) arterial baroreflex system']); */ mccFixInternalMatrix( &(rhs_[0]), &S9_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display([' b) cardiopulmonary baroreflex system']); */ mccFixInternalMatrix( &(rhs_[0]), &S10_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display([' c) direct neural coupling mechanism between respiration']); */ mccFixInternalMatrix( &(rhs_[0]), &S11_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display([' and heart rate']); */ mccFixInternalMatrix( &(rhs_[0]), &S12_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display(['3) resting physiologic perturbations']); */ mccFixInternalMatrix( &(rhs_[0]), &S13_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display([' a) respiration']); */ mccFixInternalMatrix( &(rhs_[0]), &S14_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display([' b) autoregulation of local vascular beds']); */ mccFixInternalMatrix( &(rhs_[0]), &S15_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display([' (bandlimited disturbance to systemic arterial resistance)']); */ mccFixInternalMatrix( &(rhs_[0]), &S16_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display([' c) 1/f disturbance to heart rate']); */ mccFixInternalMatrix( &(rhs_[0]), &S17_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display([' ']); */ mccFixInternalMatrix( &(rhs_[0]), &S18_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display(['Command line arguments:']); */ mccFixInternalMatrix( &(rhs_[0]), &S19_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display([' ']); */ mccFixInternalMatrix( &(rhs_[0]), &S20_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display(['rcvsim parameterfile outputfile']); */ mccFixInternalMatrix( &(rhs_[0]), &S21_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display([' ']); */ mccFixInternalMatrix( &(rhs_[0]), &S22_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display(['where']); */ mccFixInternalMatrix( &(rhs_[0]), &S23_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display([' ']); */ mccFixInternalMatrix( &(rhs_[0]), &S24_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display(['parameterfile - name of working file which contains the current parameter']); */ mccFixInternalMatrix( &(rhs_[0]), &S25_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display([' values characterizing the model (must be in current directory)']); */ mccFixInternalMatrix( &(rhs_[0]), &S26_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display([' outputfile - prefix of the output files generated by the model']); */ mccFixInternalMatrix( &(rhs_[0]), &S27_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display([' ']); */ mccFixInternalMatrix( &(rhs_[0]), &S28_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display(['or']); */ mccFixInternalMatrix( &(rhs_[0]), &S29_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display([' ']); */ mccFixInternalMatrix( &(rhs_[0]), &S30_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display(['rcvsim -h for help']); */ mccFixInternalMatrix( &(rhs_[0]), &S31_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display(' '); */ mccFixInternalMatrix( &(rhs_[0]), &S32_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display(['Output files:']); */ mccFixInternalMatrix( &(rhs_[0]), &S33_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display([' ']); */ mccFixInternalMatrix( &(rhs_[0]), &S34_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display([' outputfile.dat - binary file (MIT format -- shorts) containing all']); */ mccFixInternalMatrix( &(rhs_[0]), &S35_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display([' generated waveforms']); */ mccFixInternalMatrix( &(rhs_[0]), &S36_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display([' outputfile.qrs - qrs annotations file (MIT format)']); */ mccFixInternalMatrix( &(rhs_[0]), &S37_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display([' outputfile.hea - header file (MIT format) describing the contents']); */ mccFixInternalMatrix( &(rhs_[0]), &S38_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display([' of outputfile.dat']); */ mccFixInternalMatrix( &(rhs_[0]), &S39_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display([' outputfile.txt - ascii, multi-column file representing either']); */ mccFixInternalMatrix( &(rhs_[0]), &S40_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display([' cardiac function or venous return curves']); */ mccFixInternalMatrix( &(rhs_[0]), &S41_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display(['parameterfile.num - parameter file characterizing execution;']); */ mccFixInternalMatrix( &(rhs_[0]), &S42_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display([' created after each parameter update beginning with']); */ mccFixInternalMatrix( &(rhs_[0]), &S43_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display([' the initial choice of values (num = 0);']); */ mccFixInternalMatrix( &(rhs_[0]), &S44_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display([' see aux information in outputfile.qrs for']); */ mccFixInternalMatrix( &(rhs_[0]), &S45_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display([' for time in which this file is created']); */ mccFixInternalMatrix( &(rhs_[0]), &S46_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display([' ']); */ mccFixInternalMatrix( &(rhs_[0]), &S47_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display(['During on-line viewing,']); */ mccFixInternalMatrix( &(rhs_[0]), &S48_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display([' ']); */ mccFixInternalMatrix( &(rhs_[0]), &S49_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display(['Press p and RETURN at standard input to pause']); */ mccFixInternalMatrix( &(rhs_[0]), &S50_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display([' ']); */ mccFixInternalMatrix( &(rhs_[0]), &S51_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display(['Once paused, the following actions may be carried out:']); */ mccFixInternalMatrix( &(rhs_[0]), &S52_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display(['1) scrolling backwards with arrow buttons']); */ mccFixInternalMatrix( &(rhs_[0]), &S53_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display(['2) plotting waveforms against each other by clicking on File']); */ mccFixInternalMatrix( &(rhs_[0]), &S54_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display([' (with the right mouse), then, Analyze..., and then VCG']); */ mccFixInternalMatrix( &(rhs_[0]), &S55_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display([' (the first two waveforms in Signal List will be plotted']); */ mccFixInternalMatrix( &(rhs_[0]), &S56_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display([' against each other)']); */ mccFixInternalMatrix( &(rhs_[0]), &S57_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display(['3) update parameters in parameterfile and save parameterfile']); */ mccFixInternalMatrix( &(rhs_[0]), &S58_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display([' ']); */ mccFixInternalMatrix( &(rhs_[0]), &S59_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display(['Press r and RETURN at standard input to resume']); */ mccFixInternalMatrix( &(rhs_[0]), &S60_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); } else { /* elseif (nargin < 2) */ I0_ = mccNargin(); B0_ = (I0_ < 2); if ((double)B0_) { /* display(['Usage: rcvsim parameterfile outputfile']); */ mccFixInternalMatrix( &(rhs_[0]), &S61_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display([' rcvsim -h for help']); */ mccFixInternalMatrix( &(rhs_[0]), &S62_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); } else { /* elseif (nargin > 3) */ I0_ = mccNargin(); B0_ = (I0_ > 3); if ((double)B0_) { /* display(['Usage: rcvsim parameterfile outputfile']); */ mccFixInternalMatrix( &(rhs_[0]), &S63_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); /* display([' rcvsim -h for help']); */ mccFixInternalMatrix( &(rhs_[0]), &S64_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); } else { /* else */ /* % Checking for existence of parameter file. If file does not */ /* % exist, then exit program. */ /* fidp = fopen(parameterfile,'r'); */ mccFixInternalMatrix( &(rhs_[0]), ¶meterfile, 0 ); mccFixInternalMatrix( &(rhs_[1]), &S65_, 0 ); mccImport(&IM0_, (mxArray *) mlfFopen(0, 0, &(rhs_[0]), &(rhs_[1]), 0), 1, 97); mccFreeMlfRhs( rhs_, 2); fidp = ((int)mccIPR(&IM0_)[(1-1)]); /* y = (fidp == -1); */ y = (fidp == -1); /* mbintscalar(y); */ /* if (y) */ if ((double)y) { /* display(['Invalid parameter file name.']); */ mccFixInternalMatrix( &(rhs_[0]), &S66_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); } else { /* else */ /* % Reading initial choice of parameters from working */ /* % parameter file. */ /* [th,signals] = read_param(fidp); */ read_param_(&th,&signals, fidp); /* fclose(fidp); */ mccFixInternalMatrix( &(rhs_[0]), mccTempMatrix(fidp, 0., mccINT, 0 ), 0 ); Mplhs_[0] = (mxArray *) mlfFclose( &(rhs_[0])); mxDestroyArray(Mplhs_[0]); mccFreeMlfRhs( rhs_, 1); /* % Writing initial choice of parameters to file named */ /* % parameterfile.0. */ /* write_param(parameterfile,'0'); */ mccFixInternalMatrix( &(rhs_[0]), ¶meterfile, 0 ); mccFixInternalMatrix( &(rhs_[1]), &S67_, 0 ); mlfWrite_param( &(rhs_[0]), &(rhs_[1])); mccFreeMlfRhs( rhs_, 2); /* % Checking that all parameter values are properly */ /* % assigned to th parameter vector. If not, then */ /* % exit the program. */ /* if (length(th) == 1) */ I0_ = mccGetLength(&th); B0_ = (I0_ == 1); if ((double)B0_) { /* display(['All parameter values in the file ' parameterfile ' not properly assigned.']); */ mccCatenateColumns(&TM0_, &S68_, ¶meterfile); mccCatenateColumns(&TM1_, &TM0_, &S69_); mccFixInternalMatrix( &(rhs_[0]), &TM1_, 0 ); mlfPrintMatrix( &(rhs_[0])); mccFreeMlfRhs( rhs_, 1); } else { /* else */ /* % Assigning status parameters. */ /* preparation = th(107); */ preparation = (mccPR(&th)[(107-1)]); /* breathing = th(108); */ breathing = (mccPR(&th)[(108-1)]); /* dncm = th(109); */ dncm = (mccPR(&th)[(109-1)]); /* baro = th(110); */ baro = (mccPR(&th)[(110-1)]); /* dra = th(111); */ dra = (mccPR(&th)[(111-1)]); /* if (dra == 1) */ if (( (dra == 1) && !mccREL_NAN(dra) )) { /* dra = 2; */ dra = 2; /* end */ } /* df = th(112); */ df = (mccPR(&th)[(112-1)]); /* flag = [preparation; breathing; dncm; baro; dra; 0; df; 0]; */ mccCatenateRows(&RM0_, mccTempMatrix(preparation, 0., mccREAL, 0 ), mccTempMatrix(breathing, 0., mccREAL, 0 )); mccCatenateRows(&RM1_, &RM0_, mccTempMatrix(dncm, 0., mccREAL, 0 )); mccCatenateRows(&RM2_, &RM1_, mccTempMatrix(baro, 0., mccREAL, 0 )); mccCatenateRows(&RM3_, &RM2_, mccTempMatrix(dra, 0., mccREAL, 0 )); mccCatenateRows(&RM4_, &RM3_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateRows(&RM5_, &RM4_, mccTempMatrix(df, 0., mccREAL, 0 )); mccCatenateRows(&flag, &RM5_, mccTempMatrix(0, 0., mccINT, 0 )); /* % Writing header file. Note that the checksum */ /* % values are not assigned properly. */ /* fid1 = fopen([outputfile '.hea'],'w'); */ mccCatenateColumns(&TM1_, &outputfile, &S70_); mccFixInternalMatrix( &(rhs_[0]), &TM1_, 0 ); mccFixInternalMatrix( &(rhs_[1]), &S71_, 0 ); mccImport(&fid1, (mxArray *) mlfFopen(0, 0, &(rhs_[0]), &(rhs_[1]), 0), 1, 134); mccFreeMlfRhs( rhs_, 2); /* fprintf(fid1,'%s %d %8.2f %d\n',outputfile,29,th(113),th(106)); */ mccFixInternalMatrix( &(rhs_[0]), &fid1, 0 ); mccFixInternalMatrix( &(rhs_[1]), &S72_, 0 ); mccFixInternalMatrix( &(rhs_[2]), &outputfile, 0 ); mccFixInternalMatrix( &(rhs_[3]), mccTempMatrix(29, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[4]), mccTempVectorElement(&th, 113), 0 ); mccFixInternalMatrix( &(rhs_[5]), mccTempVectorElement(&th, 106), 0 ); Mplhs_[0] = (mxArray *) mlfFprintf( &(rhs_[0]), &(rhs_[1]), &(rhs_[2]), &(rhs_[3]), &(rhs_[4]), &(rhs_[5]), NULL); mxDestroyArray(Mplhs_[0]); mccFreeMlfRhs( rhs_, 6); /* fprintf(fid1,'%s %d %8.2f%s %d %d %d %d %d %s\n',[outputfile '.dat'],16,10,'/mmHg',16,0,0,0,0,'Pl'); */ mccCatenateColumns(&TM1_, &outputfile, &S73_); mccFixInternalMatrix( &(rhs_[0]), &fid1, 0 ); mccFixInternalMatrix( &(rhs_[1]), &S74_, 0 ); mccFixInternalMatrix( &(rhs_[2]), &TM1_, 0 ); mccFixInternalMatrix( &(rhs_[3]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[4]), mccTempMatrix(10, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[5]), &S75_, 0 ); mccFixInternalMatrix( &(rhs_[6]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[7]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[8]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[9]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[10]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[11]), &S76_, 0 ); Mplhs_[0] = (mxArray *) mlfFprintf( &(rhs_[0]), &(rhs_[1]), &(rhs_[2]), &(rhs_[3]), &(rhs_[4]), &(rhs_[5]), &(rhs_[6]), &(rhs_[7]), &(rhs_[8]), &(rhs_[9]), &(rhs_[10]), &(rhs_[11]), NULL); mxDestroyArray(Mplhs_[0]); mccFreeMlfRhs( rhs_, 12); /* fprintf(fid1,'%s %d %8.2f%s %d %d %d %d %d %s\n',[outputfile '.dat'],16,10,'/mmHg',16,0,0,0,0,'Pa'); */ mccCatenateColumns(&TM1_, &outputfile, &S77_); mccFixInternalMatrix( &(rhs_[0]), &fid1, 0 ); mccFixInternalMatrix( &(rhs_[1]), &S78_, 0 ); mccFixInternalMatrix( &(rhs_[2]), &TM1_, 0 ); mccFixInternalMatrix( &(rhs_[3]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[4]), mccTempMatrix(10, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[5]), &S79_, 0 ); mccFixInternalMatrix( &(rhs_[6]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[7]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[8]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[9]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[10]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[11]), &S80_, 0 ); Mplhs_[0] = (mxArray *) mlfFprintf( &(rhs_[0]), &(rhs_[1]), &(rhs_[2]), &(rhs_[3]), &(rhs_[4]), &(rhs_[5]), &(rhs_[6]), &(rhs_[7]), &(rhs_[8]), &(rhs_[9]), &(rhs_[10]), &(rhs_[11]), NULL); mxDestroyArray(Mplhs_[0]); mccFreeMlfRhs( rhs_, 12); /* fprintf(fid1,'%s %d %8.2f%s %d %d %d %d %d %s\n',[outputfile '.dat'],16,10,'/mmHg',16,0,0,0,0,'Pv'); */ mccCatenateColumns(&TM1_, &outputfile, &S81_); mccFixInternalMatrix( &(rhs_[0]), &fid1, 0 ); mccFixInternalMatrix( &(rhs_[1]), &S82_, 0 ); mccFixInternalMatrix( &(rhs_[2]), &TM1_, 0 ); mccFixInternalMatrix( &(rhs_[3]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[4]), mccTempMatrix(10, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[5]), &S83_, 0 ); mccFixInternalMatrix( &(rhs_[6]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[7]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[8]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[9]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[10]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[11]), &S84_, 0 ); Mplhs_[0] = (mxArray *) mlfFprintf( &(rhs_[0]), &(rhs_[1]), &(rhs_[2]), &(rhs_[3]), &(rhs_[4]), &(rhs_[5]), &(rhs_[6]), &(rhs_[7]), &(rhs_[8]), &(rhs_[9]), &(rhs_[10]), &(rhs_[11]), NULL); mxDestroyArray(Mplhs_[0]); mccFreeMlfRhs( rhs_, 12); /* fprintf(fid1,'%s %d %8.2f%s %d %d %d %d %d %s\n',[outputfile '.dat'],16,10,'/mmHg',16,0,0,0,0,'Pr'); */ mccCatenateColumns(&TM1_, &outputfile, &S85_); mccFixInternalMatrix( &(rhs_[0]), &fid1, 0 ); mccFixInternalMatrix( &(rhs_[1]), &S86_, 0 ); mccFixInternalMatrix( &(rhs_[2]), &TM1_, 0 ); mccFixInternalMatrix( &(rhs_[3]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[4]), mccTempMatrix(10, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[5]), &S87_, 0 ); mccFixInternalMatrix( &(rhs_[6]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[7]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[8]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[9]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[10]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[11]), &S88_, 0 ); Mplhs_[0] = (mxArray *) mlfFprintf( &(rhs_[0]), &(rhs_[1]), &(rhs_[2]), &(rhs_[3]), &(rhs_[4]), &(rhs_[5]), &(rhs_[6]), &(rhs_[7]), &(rhs_[8]), &(rhs_[9]), &(rhs_[10]), &(rhs_[11]), NULL); mxDestroyArray(Mplhs_[0]); mccFreeMlfRhs( rhs_, 12); /* fprintf(fid1,'%s %d %8.2f%s %d %d %d %d %d %s\n',[outputfile '.dat'],16,10,'/mmHg',16,0,0,0,0,'Ppa'); */ mccCatenateColumns(&TM1_, &outputfile, &S89_); mccFixInternalMatrix( &(rhs_[0]), &fid1, 0 ); mccFixInternalMatrix( &(rhs_[1]), &S90_, 0 ); mccFixInternalMatrix( &(rhs_[2]), &TM1_, 0 ); mccFixInternalMatrix( &(rhs_[3]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[4]), mccTempMatrix(10, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[5]), &S91_, 0 ); mccFixInternalMatrix( &(rhs_[6]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[7]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[8]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[9]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[10]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[11]), &S92_, 0 ); Mplhs_[0] = (mxArray *) mlfFprintf( &(rhs_[0]), &(rhs_[1]), &(rhs_[2]), &(rhs_[3]), &(rhs_[4]), &(rhs_[5]), &(rhs_[6]), &(rhs_[7]), &(rhs_[8]), &(rhs_[9]), &(rhs_[10]), &(rhs_[11]), NULL); mxDestroyArray(Mplhs_[0]); mccFreeMlfRhs( rhs_, 12); /* fprintf(fid1,'%s %d %8.2f%s %d %d %d %d %d %s\n',[outputfile '.dat'],16,10,'/mmHg',16,0,0,0,0,'Ppv'); */ mccCatenateColumns(&TM1_, &outputfile, &S93_); mccFixInternalMatrix( &(rhs_[0]), &fid1, 0 ); mccFixInternalMatrix( &(rhs_[1]), &S94_, 0 ); mccFixInternalMatrix( &(rhs_[2]), &TM1_, 0 ); mccFixInternalMatrix( &(rhs_[3]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[4]), mccTempMatrix(10, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[5]), &S95_, 0 ); mccFixInternalMatrix( &(rhs_[6]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[7]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[8]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[9]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[10]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[11]), &S96_, 0 ); Mplhs_[0] = (mxArray *) mlfFprintf( &(rhs_[0]), &(rhs_[1]), &(rhs_[2]), &(rhs_[3]), &(rhs_[4]), &(rhs_[5]), &(rhs_[6]), &(rhs_[7]), &(rhs_[8]), &(rhs_[9]), &(rhs_[10]), &(rhs_[11]), NULL); mxDestroyArray(Mplhs_[0]); mccFreeMlfRhs( rhs_, 12); /* fprintf(fid1,'%s %d %8.2f%s %d %d %d %d %d %s\n',[outputfile '.dat'],16,10,'/mmHg',16,0,0,0,0,'Pth'); */ mccCatenateColumns(&TM1_, &outputfile, &S97_); mccFixInternalMatrix( &(rhs_[0]), &fid1, 0 ); mccFixInternalMatrix( &(rhs_[1]), &S98_, 0 ); mccFixInternalMatrix( &(rhs_[2]), &TM1_, 0 ); mccFixInternalMatrix( &(rhs_[3]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[4]), mccTempMatrix(10, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[5]), &S99_, 0 ); mccFixInternalMatrix( &(rhs_[6]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[7]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[8]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[9]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[10]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[11]), &S100_, 0 ); Mplhs_[0] = (mxArray *) mlfFprintf( &(rhs_[0]), &(rhs_[1]), &(rhs_[2]), &(rhs_[3]), &(rhs_[4]), &(rhs_[5]), &(rhs_[6]), &(rhs_[7]), &(rhs_[8]), &(rhs_[9]), &(rhs_[10]), &(rhs_[11]), NULL); mxDestroyArray(Mplhs_[0]); mccFreeMlfRhs( rhs_, 12); /* fprintf(fid1,'%s %d %8.2f%s %d %d %d %d %d %s\n',[outputfile '.dat'],16,10,'/mmHg',16,0,0,0,0,'Palv'); */ mccCatenateColumns(&TM1_, &outputfile, &S101_); mccFixInternalMatrix( &(rhs_[0]), &fid1, 0 ); mccFixInternalMatrix( &(rhs_[1]), &S102_, 0 ); mccFixInternalMatrix( &(rhs_[2]), &TM1_, 0 ); mccFixInternalMatrix( &(rhs_[3]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[4]), mccTempMatrix(10, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[5]), &S103_, 0 ); mccFixInternalMatrix( &(rhs_[6]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[7]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[8]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[9]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[10]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[11]), &S104_, 0 ); Mplhs_[0] = (mxArray *) mlfFprintf( &(rhs_[0]), &(rhs_[1]), &(rhs_[2]), &(rhs_[3]), &(rhs_[4]), &(rhs_[5]), &(rhs_[6]), &(rhs_[7]), &(rhs_[8]), &(rhs_[9]), &(rhs_[10]), &(rhs_[11]), NULL); mxDestroyArray(Mplhs_[0]); mccFreeMlfRhs( rhs_, 12); /* fprintf(fid1,'%s %d %8.2f%s %d %d %d %d %d %s\n',[outputfile '.dat'],16,10,'/mmHg',16,0,0,0,0,'Pra'); */ mccCatenateColumns(&TM1_, &outputfile, &S105_); mccFixInternalMatrix( &(rhs_[0]), &fid1, 0 ); mccFixInternalMatrix( &(rhs_[1]), &S106_, 0 ); mccFixInternalMatrix( &(rhs_[2]), &TM1_, 0 ); mccFixInternalMatrix( &(rhs_[3]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[4]), mccTempMatrix(10, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[5]), &S107_, 0 ); mccFixInternalMatrix( &(rhs_[6]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[7]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[8]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[9]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[10]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[11]), &S108_, 0 ); Mplhs_[0] = (mxArray *) mlfFprintf( &(rhs_[0]), &(rhs_[1]), &(rhs_[2]), &(rhs_[3]), &(rhs_[4]), &(rhs_[5]), &(rhs_[6]), &(rhs_[7]), &(rhs_[8]), &(rhs_[9]), &(rhs_[10]), &(rhs_[11]), NULL); mxDestroyArray(Mplhs_[0]); mccFreeMlfRhs( rhs_, 12); /* fprintf(fid1,'%s %d %8.2f%s %d %d %d %d %d %s\n',[outputfile '.dat'],16,10,'/ml',16,0,0,0,0,'Ql'); */ mccCatenateColumns(&TM1_, &outputfile, &S109_); mccFixInternalMatrix( &(rhs_[0]), &fid1, 0 ); mccFixInternalMatrix( &(rhs_[1]), &S110_, 0 ); mccFixInternalMatrix( &(rhs_[2]), &TM1_, 0 ); mccFixInternalMatrix( &(rhs_[3]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[4]), mccTempMatrix(10, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[5]), &S111_, 0 ); mccFixInternalMatrix( &(rhs_[6]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[7]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[8]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[9]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[10]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[11]), &S112_, 0 ); Mplhs_[0] = (mxArray *) mlfFprintf( &(rhs_[0]), &(rhs_[1]), &(rhs_[2]), &(rhs_[3]), &(rhs_[4]), &(rhs_[5]), &(rhs_[6]), &(rhs_[7]), &(rhs_[8]), &(rhs_[9]), &(rhs_[10]), &(rhs_[11]), NULL); mxDestroyArray(Mplhs_[0]); mccFreeMlfRhs( rhs_, 12); /* fprintf(fid1,'%s %d %8.2f%s %d %d %d %d %d %s\n',[outputfile '.dat'],16,10,'/ml',16,0,0,0,0,'Qa'); */ mccCatenateColumns(&TM1_, &outputfile, &S113_); mccFixInternalMatrix( &(rhs_[0]), &fid1, 0 ); mccFixInternalMatrix( &(rhs_[1]), &S114_, 0 ); mccFixInternalMatrix( &(rhs_[2]), &TM1_, 0 ); mccFixInternalMatrix( &(rhs_[3]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[4]), mccTempMatrix(10, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[5]), &S115_, 0 ); mccFixInternalMatrix( &(rhs_[6]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[7]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[8]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[9]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[10]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[11]), &S116_, 0 ); Mplhs_[0] = (mxArray *) mlfFprintf( &(rhs_[0]), &(rhs_[1]), &(rhs_[2]), &(rhs_[3]), &(rhs_[4]), &(rhs_[5]), &(rhs_[6]), &(rhs_[7]), &(rhs_[8]), &(rhs_[9]), &(rhs_[10]), &(rhs_[11]), NULL); mxDestroyArray(Mplhs_[0]); mccFreeMlfRhs( rhs_, 12); /* fprintf(fid1,'%s %d %8.2f%s %d %d %d %d %d %s\n',[outputfile '.dat'],16,10,'/ml',16,0,0,0,0,'Qv'); */ mccCatenateColumns(&TM1_, &outputfile, &S117_); mccFixInternalMatrix( &(rhs_[0]), &fid1, 0 ); mccFixInternalMatrix( &(rhs_[1]), &S118_, 0 ); mccFixInternalMatrix( &(rhs_[2]), &TM1_, 0 ); mccFixInternalMatrix( &(rhs_[3]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[4]), mccTempMatrix(10, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[5]), &S119_, 0 ); mccFixInternalMatrix( &(rhs_[6]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[7]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[8]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[9]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[10]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[11]), &S120_, 0 ); Mplhs_[0] = (mxArray *) mlfFprintf( &(rhs_[0]), &(rhs_[1]), &(rhs_[2]), &(rhs_[3]), &(rhs_[4]), &(rhs_[5]), &(rhs_[6]), &(rhs_[7]), &(rhs_[8]), &(rhs_[9]), &(rhs_[10]), &(rhs_[11]), NULL); mxDestroyArray(Mplhs_[0]); mccFreeMlfRhs( rhs_, 12); /* fprintf(fid1,'%s %d %8.2f%s %d %d %d %d %d %s\n',[outputfile '.dat'],16,10,'/ml',16,0,0,0,0,'Qr'); */ mccCatenateColumns(&TM1_, &outputfile, &S121_); mccFixInternalMatrix( &(rhs_[0]), &fid1, 0 ); mccFixInternalMatrix( &(rhs_[1]), &S122_, 0 ); mccFixInternalMatrix( &(rhs_[2]), &TM1_, 0 ); mccFixInternalMatrix( &(rhs_[3]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[4]), mccTempMatrix(10, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[5]), &S123_, 0 ); mccFixInternalMatrix( &(rhs_[6]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[7]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[8]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[9]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[10]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[11]), &S124_, 0 ); Mplhs_[0] = (mxArray *) mlfFprintf( &(rhs_[0]), &(rhs_[1]), &(rhs_[2]), &(rhs_[3]), &(rhs_[4]), &(rhs_[5]), &(rhs_[6]), &(rhs_[7]), &(rhs_[8]), &(rhs_[9]), &(rhs_[10]), &(rhs_[11]), NULL); mxDestroyArray(Mplhs_[0]); mccFreeMlfRhs( rhs_, 12); /* fprintf(fid1,'%s %d %8.2f%s %d %d %d %d %d %s\n',[outputfile '.dat'],16,10,'/ml',16,0,0,0,0,'Qpa'); */ mccCatenateColumns(&TM1_, &outputfile, &S125_); mccFixInternalMatrix( &(rhs_[0]), &fid1, 0 ); mccFixInternalMatrix( &(rhs_[1]), &S126_, 0 ); mccFixInternalMatrix( &(rhs_[2]), &TM1_, 0 ); mccFixInternalMatrix( &(rhs_[3]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[4]), mccTempMatrix(10, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[5]), &S127_, 0 ); mccFixInternalMatrix( &(rhs_[6]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[7]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[8]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[9]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[10]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[11]), &S128_, 0 ); Mplhs_[0] = (mxArray *) mlfFprintf( &(rhs_[0]), &(rhs_[1]), &(rhs_[2]), &(rhs_[3]), &(rhs_[4]), &(rhs_[5]), &(rhs_[6]), &(rhs_[7]), &(rhs_[8]), &(rhs_[9]), &(rhs_[10]), &(rhs_[11]), NULL); mxDestroyArray(Mplhs_[0]); mccFreeMlfRhs( rhs_, 12); /* fprintf(fid1,'%s %d %8.2f%s %d %d %d %d %d %s\n',[outputfile '.dat'],16,10,'/ml',16,0,0,0,0,'Qpv'); */ mccCatenateColumns(&TM1_, &outputfile, &S129_); mccFixInternalMatrix( &(rhs_[0]), &fid1, 0 ); mccFixInternalMatrix( &(rhs_[1]), &S130_, 0 ); mccFixInternalMatrix( &(rhs_[2]), &TM1_, 0 ); mccFixInternalMatrix( &(rhs_[3]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[4]), mccTempMatrix(10, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[5]), &S131_, 0 ); mccFixInternalMatrix( &(rhs_[6]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[7]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[8]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[9]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[10]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[11]), &S132_, 0 ); Mplhs_[0] = (mxArray *) mlfFprintf( &(rhs_[0]), &(rhs_[1]), &(rhs_[2]), &(rhs_[3]), &(rhs_[4]), &(rhs_[5]), &(rhs_[6]), &(rhs_[7]), &(rhs_[8]), &(rhs_[9]), &(rhs_[10]), &(rhs_[11]), NULL); mxDestroyArray(Mplhs_[0]); mccFreeMlfRhs( rhs_, 12); /* fprintf(fid1,'%s %d %8.2f%s %d %d %d %d %d %s\n',[outputfile '.dat'],16,1,'/ml',16,0,0,0,0,'Qlu'); */ mccCatenateColumns(&TM1_, &outputfile, &S133_); mccFixInternalMatrix( &(rhs_[0]), &fid1, 0 ); mccFixInternalMatrix( &(rhs_[1]), &S134_, 0 ); mccFixInternalMatrix( &(rhs_[2]), &TM1_, 0 ); mccFixInternalMatrix( &(rhs_[3]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[4]), mccTempMatrix(1, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[5]), &S135_, 0 ); mccFixInternalMatrix( &(rhs_[6]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[7]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[8]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[9]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[10]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[11]), &S136_, 0 ); Mplhs_[0] = (mxArray *) mlfFprintf( &(rhs_[0]), &(rhs_[1]), &(rhs_[2]), &(rhs_[3]), &(rhs_[4]), &(rhs_[5]), &(rhs_[6]), &(rhs_[7]), &(rhs_[8]), &(rhs_[9]), &(rhs_[10]), &(rhs_[11]), NULL); mxDestroyArray(Mplhs_[0]); mccFreeMlfRhs( rhs_, 12); /* fprintf(fid1,'%s %d %8.2f%s %d %d %d %d %d %s\n',[outputfile '.dat'],16,10,'/ml/s',16,0,0,0,0,'qpv'); */ mccCatenateColumns(&TM1_, &outputfile, &S137_); mccFixInternalMatrix( &(rhs_[0]), &fid1, 0 ); mccFixInternalMatrix( &(rhs_[1]), &S138_, 0 ); mccFixInternalMatrix( &(rhs_[2]), &TM1_, 0 ); mccFixInternalMatrix( &(rhs_[3]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[4]), mccTempMatrix(10, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[5]), &S139_, 0 ); mccFixInternalMatrix( &(rhs_[6]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[7]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[8]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[9]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[10]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[11]), &S140_, 0 ); Mplhs_[0] = (mxArray *) mlfFprintf( &(rhs_[0]), &(rhs_[1]), &(rhs_[2]), &(rhs_[3]), &(rhs_[4]), &(rhs_[5]), &(rhs_[6]), &(rhs_[7]), &(rhs_[8]), &(rhs_[9]), &(rhs_[10]), &(rhs_[11]), NULL); mxDestroyArray(Mplhs_[0]); mccFreeMlfRhs( rhs_, 12); /* fprintf(fid1,'%s %d %8.2f%s %d %d %d %d %d %s\n',[outputfile '.dat'],16,10,'/ml/s',16,0,0,0,0,'ql'); */ mccCatenateColumns(&TM1_, &outputfile, &S141_); mccFixInternalMatrix( &(rhs_[0]), &fid1, 0 ); mccFixInternalMatrix( &(rhs_[1]), &S142_, 0 ); mccFixInternalMatrix( &(rhs_[2]), &TM1_, 0 ); mccFixInternalMatrix( &(rhs_[3]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[4]), mccTempMatrix(10, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[5]), &S143_, 0 ); mccFixInternalMatrix( &(rhs_[6]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[7]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[8]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[9]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[10]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[11]), &S144_, 0 ); Mplhs_[0] = (mxArray *) mlfFprintf( &(rhs_[0]), &(rhs_[1]), &(rhs_[2]), &(rhs_[3]), &(rhs_[4]), &(rhs_[5]), &(rhs_[6]), &(rhs_[7]), &(rhs_[8]), &(rhs_[9]), &(rhs_[10]), &(rhs_[11]), NULL); mxDestroyArray(Mplhs_[0]); mccFreeMlfRhs( rhs_, 12); /* fprintf(fid1,'%s %d %8.2f%s %d %d %d %d %d %s\n',[outputfile '.dat'],16,10,'/ml/s',16,0,0,0,0,'qa'); */ mccCatenateColumns(&TM1_, &outputfile, &S145_); mccFixInternalMatrix( &(rhs_[0]), &fid1, 0 ); mccFixInternalMatrix( &(rhs_[1]), &S146_, 0 ); mccFixInternalMatrix( &(rhs_[2]), &TM1_, 0 ); mccFixInternalMatrix( &(rhs_[3]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[4]), mccTempMatrix(10, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[5]), &S147_, 0 ); mccFixInternalMatrix( &(rhs_[6]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[7]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[8]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[9]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[10]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[11]), &S148_, 0 ); Mplhs_[0] = (mxArray *) mlfFprintf( &(rhs_[0]), &(rhs_[1]), &(rhs_[2]), &(rhs_[3]), &(rhs_[4]), &(rhs_[5]), &(rhs_[6]), &(rhs_[7]), &(rhs_[8]), &(rhs_[9]), &(rhs_[10]), &(rhs_[11]), NULL); mxDestroyArray(Mplhs_[0]); mccFreeMlfRhs( rhs_, 12); /* fprintf(fid1,'%s %d %8.2f%s %d %d %d %d %d %s\n',[outputfile '.dat'],16,10,'/ml/s',16,0,0,0,0,'qv'); */ mccCatenateColumns(&TM1_, &outputfile, &S149_); mccFixInternalMatrix( &(rhs_[0]), &fid1, 0 ); mccFixInternalMatrix( &(rhs_[1]), &S150_, 0 ); mccFixInternalMatrix( &(rhs_[2]), &TM1_, 0 ); mccFixInternalMatrix( &(rhs_[3]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[4]), mccTempMatrix(10, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[5]), &S151_, 0 ); mccFixInternalMatrix( &(rhs_[6]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[7]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[8]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[9]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[10]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[11]), &S152_, 0 ); Mplhs_[0] = (mxArray *) mlfFprintf( &(rhs_[0]), &(rhs_[1]), &(rhs_[2]), &(rhs_[3]), &(rhs_[4]), &(rhs_[5]), &(rhs_[6]), &(rhs_[7]), &(rhs_[8]), &(rhs_[9]), &(rhs_[10]), &(rhs_[11]), NULL); mxDestroyArray(Mplhs_[0]); mccFreeMlfRhs( rhs_, 12); /* fprintf(fid1,'%s %d %8.2f%s %d %d %d %d %d %s\n',[outputfile '.dat'],16,10,'/ml/s',16,0,0,0,0,'qr'); */ mccCatenateColumns(&TM1_, &outputfile, &S153_); mccFixInternalMatrix( &(rhs_[0]), &fid1, 0 ); mccFixInternalMatrix( &(rhs_[1]), &S154_, 0 ); mccFixInternalMatrix( &(rhs_[2]), &TM1_, 0 ); mccFixInternalMatrix( &(rhs_[3]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[4]), mccTempMatrix(10, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[5]), &S155_, 0 ); mccFixInternalMatrix( &(rhs_[6]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[7]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[8]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[9]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[10]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[11]), &S156_, 0 ); Mplhs_[0] = (mxArray *) mlfFprintf( &(rhs_[0]), &(rhs_[1]), &(rhs_[2]), &(rhs_[3]), &(rhs_[4]), &(rhs_[5]), &(rhs_[6]), &(rhs_[7]), &(rhs_[8]), &(rhs_[9]), &(rhs_[10]), &(rhs_[11]), NULL); mxDestroyArray(Mplhs_[0]); mccFreeMlfRhs( rhs_, 12); /* fprintf(fid1,'%s %d %8.2f%s %d %d %d %d %d %s\n',[outputfile '.dat'],16,10,'/ml/s',16,0,0,0,0,'qpa'); */ mccCatenateColumns(&TM1_, &outputfile, &S157_); mccFixInternalMatrix( &(rhs_[0]), &fid1, 0 ); mccFixInternalMatrix( &(rhs_[1]), &S158_, 0 ); mccFixInternalMatrix( &(rhs_[2]), &TM1_, 0 ); mccFixInternalMatrix( &(rhs_[3]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[4]), mccTempMatrix(10, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[5]), &S159_, 0 ); mccFixInternalMatrix( &(rhs_[6]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[7]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[8]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[9]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[10]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[11]), &S160_, 0 ); Mplhs_[0] = (mxArray *) mlfFprintf( &(rhs_[0]), &(rhs_[1]), &(rhs_[2]), &(rhs_[3]), &(rhs_[4]), &(rhs_[5]), &(rhs_[6]), &(rhs_[7]), &(rhs_[8]), &(rhs_[9]), &(rhs_[10]), &(rhs_[11]), NULL); mxDestroyArray(Mplhs_[0]); mccFreeMlfRhs( rhs_, 12); /* fprintf(fid1,'%s %d %8.2f%s %d %d %d %d %d %s\n',[outputfile '.dat'],16,1000,'/ml/mmHg',16,0,0,0,0,'Cls'); */ mccCatenateColumns(&TM1_, &outputfile, &S161_); mccFixInternalMatrix( &(rhs_[0]), &fid1, 0 ); mccFixInternalMatrix( &(rhs_[1]), &S162_, 0 ); mccFixInternalMatrix( &(rhs_[2]), &TM1_, 0 ); mccFixInternalMatrix( &(rhs_[3]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[4]), mccTempMatrix(1000, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[5]), &S163_, 0 ); mccFixInternalMatrix( &(rhs_[6]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[7]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[8]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[9]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[10]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[11]), &S164_, 0 ); Mplhs_[0] = (mxArray *) mlfFprintf( &(rhs_[0]), &(rhs_[1]), &(rhs_[2]), &(rhs_[3]), &(rhs_[4]), &(rhs_[5]), &(rhs_[6]), &(rhs_[7]), &(rhs_[8]), &(rhs_[9]), &(rhs_[10]), &(rhs_[11]), NULL); mxDestroyArray(Mplhs_[0]); mccFreeMlfRhs( rhs_, 12); /* fprintf(fid1,'%s %d %8.2f%s %d %d %d %d %d %s\n',[outputfile '.dat'],16,1000,'/ml/mmHg',16,0,0,0,0,'Crs'); */ mccCatenateColumns(&TM1_, &outputfile, &S165_); mccFixInternalMatrix( &(rhs_[0]), &fid1, 0 ); mccFixInternalMatrix( &(rhs_[1]), &S166_, 0 ); mccFixInternalMatrix( &(rhs_[2]), &TM1_, 0 ); mccFixInternalMatrix( &(rhs_[3]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[4]), mccTempMatrix(1000, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[5]), &S167_, 0 ); mccFixInternalMatrix( &(rhs_[6]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[7]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[8]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[9]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[10]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[11]), &S168_, 0 ); Mplhs_[0] = (mxArray *) mlfFprintf( &(rhs_[0]), &(rhs_[1]), &(rhs_[2]), &(rhs_[3]), &(rhs_[4]), &(rhs_[5]), &(rhs_[6]), &(rhs_[7]), &(rhs_[8]), &(rhs_[9]), &(rhs_[10]), &(rhs_[11]), NULL); mxDestroyArray(Mplhs_[0]); mccFreeMlfRhs( rhs_, 12); /* fprintf(fid1,'%s %d %8.2f%s %d %d %d %d %d %s\n',[outputfile '.dat'],16,10,'/ml',16,0,0,0,0,'Qvo'); */ mccCatenateColumns(&TM1_, &outputfile, &S169_); mccFixInternalMatrix( &(rhs_[0]), &fid1, 0 ); mccFixInternalMatrix( &(rhs_[1]), &S170_, 0 ); mccFixInternalMatrix( &(rhs_[2]), &TM1_, 0 ); mccFixInternalMatrix( &(rhs_[3]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[4]), mccTempMatrix(10, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[5]), &S171_, 0 ); mccFixInternalMatrix( &(rhs_[6]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[7]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[8]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[9]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[10]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[11]), &S172_, 0 ); Mplhs_[0] = (mxArray *) mlfFprintf( &(rhs_[0]), &(rhs_[1]), &(rhs_[2]), &(rhs_[3]), &(rhs_[4]), &(rhs_[5]), &(rhs_[6]), &(rhs_[7]), &(rhs_[8]), &(rhs_[9]), &(rhs_[10]), &(rhs_[11]), NULL); mxDestroyArray(Mplhs_[0]); mccFreeMlfRhs( rhs_, 12); /* fprintf(fid1,'%s %d %8.2f%s %d %d %d %d %d %s\n',[outputfile '.dat'],16,1000,'/mmHg-s/ml',16,0,0,0,0,'Ra'); */ mccCatenateColumns(&TM1_, &outputfile, &S173_); mccFixInternalMatrix( &(rhs_[0]), &fid1, 0 ); mccFixInternalMatrix( &(rhs_[1]), &S174_, 0 ); mccFixInternalMatrix( &(rhs_[2]), &TM1_, 0 ); mccFixInternalMatrix( &(rhs_[3]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[4]), mccTempMatrix(1000, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[5]), &S175_, 0 ); mccFixInternalMatrix( &(rhs_[6]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[7]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[8]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[9]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[10]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[11]), &S176_, 0 ); Mplhs_[0] = (mxArray *) mlfFprintf( &(rhs_[0]), &(rhs_[1]), &(rhs_[2]), &(rhs_[3]), &(rhs_[4]), &(rhs_[5]), &(rhs_[6]), &(rhs_[7]), &(rhs_[8]), &(rhs_[9]), &(rhs_[10]), &(rhs_[11]), NULL); mxDestroyArray(Mplhs_[0]); mccFreeMlfRhs( rhs_, 12); /* fprintf(fid1,'%s %d %8.2f%s %d %d %d %d %d %s\n',[outputfile '.dat'],16,100,'/bpm',16,0,0,0,0,'F'); */ mccCatenateColumns(&TM1_, &outputfile, &S177_); mccFixInternalMatrix( &(rhs_[0]), &fid1, 0 ); mccFixInternalMatrix( &(rhs_[1]), &S178_, 0 ); mccFixInternalMatrix( &(rhs_[2]), &TM1_, 0 ); mccFixInternalMatrix( &(rhs_[3]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[4]), mccTempMatrix(100, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[5]), &S179_, 0 ); mccFixInternalMatrix( &(rhs_[6]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[7]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[8]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[9]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[10]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[11]), &S180_, 0 ); Mplhs_[0] = (mxArray *) mlfFprintf( &(rhs_[0]), &(rhs_[1]), &(rhs_[2]), &(rhs_[3]), &(rhs_[4]), &(rhs_[5]), &(rhs_[6]), &(rhs_[7]), &(rhs_[8]), &(rhs_[9]), &(rhs_[10]), &(rhs_[11]), NULL); mxDestroyArray(Mplhs_[0]); mccFreeMlfRhs( rhs_, 12); /* fprintf(fid1,'%s %d %8.2f%s %d %d %d %d %d %s\n',[outputfile '.dat'],16,100,'/mmHg/ml',16,0,0,0,0,'El'); */ mccCatenateColumns(&TM1_, &outputfile, &S181_); mccFixInternalMatrix( &(rhs_[0]), &fid1, 0 ); mccFixInternalMatrix( &(rhs_[1]), &S182_, 0 ); mccFixInternalMatrix( &(rhs_[2]), &TM1_, 0 ); mccFixInternalMatrix( &(rhs_[3]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[4]), mccTempMatrix(100, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[5]), &S183_, 0 ); mccFixInternalMatrix( &(rhs_[6]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[7]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[8]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[9]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[10]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[11]), &S184_, 0 ); Mplhs_[0] = (mxArray *) mlfFprintf( &(rhs_[0]), &(rhs_[1]), &(rhs_[2]), &(rhs_[3]), &(rhs_[4]), &(rhs_[5]), &(rhs_[6]), &(rhs_[7]), &(rhs_[8]), &(rhs_[9]), &(rhs_[10]), &(rhs_[11]), NULL); mxDestroyArray(Mplhs_[0]); mccFreeMlfRhs( rhs_, 12); /* fprintf(fid1,'%s %d %8.2f%s %d %d %d %d %d %s\n',[outputfile '.dat'],16,100,'/mmHg/ml',16,0,0,0,0,'Er'); */ mccCatenateColumns(&TM1_, &outputfile, &S185_); mccFixInternalMatrix( &(rhs_[0]), &fid1, 0 ); mccFixInternalMatrix( &(rhs_[1]), &S186_, 0 ); mccFixInternalMatrix( &(rhs_[2]), &TM1_, 0 ); mccFixInternalMatrix( &(rhs_[3]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[4]), mccTempMatrix(100, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[5]), &S187_, 0 ); mccFixInternalMatrix( &(rhs_[6]), mccTempMatrix(16, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[7]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[8]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[9]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[10]), mccTempMatrix(0, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[11]), &S188_, 0 ); Mplhs_[0] = (mxArray *) mlfFprintf( &(rhs_[0]), &(rhs_[1]), &(rhs_[2]), &(rhs_[3]), &(rhs_[4]), &(rhs_[5]), &(rhs_[6]), &(rhs_[7]), &(rhs_[8]), &(rhs_[9]), &(rhs_[10]), &(rhs_[11]), NULL); mxDestroyArray(Mplhs_[0]); mccFreeMlfRhs( rhs_, 12); /* fclose(fid1); */ mccFixInternalMatrix( &(rhs_[0]), &fid1, 0 ); Mplhs_[0] = (mxArray *) mlfFclose( &(rhs_[0])); mxDestroyArray(Mplhs_[0]); mccFreeMlfRhs( rhs_, 1); /* % Generating the waveforms by calling simulate.m. */ /* [P,v,q,ap,ve,qrs,t,num] = simulate(flag,th,outputfile,parameterfile,signals); */ simulate_(&P,&v,&q,&ap,&ve,&qrs,&t,&num, &flag, &th, &outputfile, ¶meterfile, &signals); /* % Writing waveforms and annotations to MIT format files */ /* % if they are not being viewed on-line. */ /* if (strcmp(signals,'-1') ~= 0) */ if ((mccStrcmp(&signals, &S189_) != 0)) { /* ap = ap(1:5,:); */ { int i_, j_; int m_=1, n_=1, cx_ = 0; double *p_RM5_; int I_RM5_=1; double *p_ap; int I_ap=1, J_ap; m_ = mcmCalcResultSize(m_, &n_, ((int)(5 - 1) + 1), mccN(&ap)); mccAllocateMatrix(&RM5_, m_, n_); I_RM5_ = (mccM(&RM5_) != 1 || mccN(&RM5_) != 1); p_RM5_ = mccPR(&RM5_); if (mccM(&ap) == 1 && mccN(&ap) == 1) { I_ap = J_ap = 0;} else { I_ap = 1; J_ap=mccM(&ap)-m_; } p_ap = mccPR(&ap) + ((int)(1 - .5)) + mccM(&ap) * 0; if (m_ != 0) { for (j_=0; j_ * S219_ * S220_ * Sgran real scalar * Slength real scalar * Sratio integer scalar * TM0_ string vector/matrix temporary * TM1_ string vector/matrix temporary * TM2_ string vector/matrix temporary * TM3_ string vector/matrix temporary * TM4_ string vector/matrix temporary * TM5_ string vector/matrix temporary * Vvo real vector/matrix * Vvow real vector/matrix * X real vector/matrix * a_init_cond * abreflex * alpha real scalar * alphatau real scalar * amp real scalar * annotator string vector/matrix * ans_filt * ap real vector/matrix * apr_init_cond * at real vector/matrix * atan * atcount integer scalar * avebP real vector/matrix * avebPratr real vector/matrix * bP real vector/matrix * bPratr real vector/matrix * bPratrtemp real vector/matrix * bPtemp real vector/matrix * baro real scalar * beta real scalar * bl_filt * breathing real scalar * c real scalar * c1 real scalar * ceil * ceostep integer scalar * conserve_vol * conv * cos * count_pc integer scalar * countj integer scalar * countn integer scalar * cpreflex * d real scalar * d1 real scalar * dEl real scalar * dEla real scalar * dEr real scalar * dEra real scalar * deltaPsp real vector/matrix * deltaT real scalar * denb real scalar * denb1 real scalar * df real scalar * diff * dmax integer scalar * dmin integer scalar * dncm real scalar * dncm_filt * dpasp real scalar * dqvo real scalar * dra real scalar * dthbreathe real vector/matrix * end * end_time real scalar * error * exp * fb_int integer scalar * fclose * fid integer vector/matrix * fid2 integer scalar * fidp integer scalar * final real scalar * flag real vector/matrix * flagnew real vector/matrix * floor * fopen * frac real scalar * freq real scalar * fwrite * h1 real scalar * h2 real scalar * hans real vector/matrix * hf real vector/matrix * hilvhr real vector/matrix * hlu_init_cond * honeoverf real vector/matrix * honeoverfra real vector/matrix * hra real vector/matrix * hvvo real vector/matrix * i integer scalar * i real vector/matrix => i_1 * i integer vector/matrix => i_2 * ilv real vector/matrix * ilv_dec * init_cond * intact_init_cond * ipfm real scalar * ipfmcond boolean scalar * k integer scalar * kscale integer scalar * kstart integer scalar * kt integer vector/matrix * kt integer scalar => kt_1 * length * lengthra integer scalar * lengthsa integer scalar * lengtht integer scalar * lv_init_cond * lvrstep integer scalar * mbintscalar * mco real vector/matrix * mrap real vector/matrix * n real scalar * n integer scalar => n_1 * nac_init_cond * num real vector/matrix * num2str * nvvostep integer scalar * oneoverf_filt * ones * outputfile string vector/matrix * outputfile2 string vector/matrix * param_change * parameter_change integer scalar * parameterfile string vector/matrix * pi * preparation real scalar * q real vector/matrix * qpv real scalar * qrs real vector/matrix * qrs_index integer scalar * qrs_index_start integer scalar * qrso real vector/matrix * qv real scalar * rand_int_breath * randn * rarange real vector/matrix * rarangei real vector/matrix * read_key * read_param * reallog * realsqrt * resp_act * rk4 * round * rsastep integer scalar * sc_init_cond * signals integer vector/matrix * simulate_ * start_index real scalar * start_time real scalar * strcmp * suffix string vector/matrix * sum * sumP real vector/matrix * sumPratr real vector/matrix * sumdelta integer scalar * sumdeltaT real vector/matrix * summco real vector/matrix * summrap real vector/matrix * sumt real scalar * t real vector/matrix * tempPsp real vector/matrix * tempilv real vector/matrix * tempp real vector/matrix * tempv real vector/matrix * th real vector/matrix * tha real vector/matrix * thbreathe real vector/matrix * thbreathes real vector/matrix * thc real vector/matrix * third_init_cond * third_nac_init_cond * thn real vector/matrix * thold real vector/matrix * thp real vector/matrix * thsp real vector/matrix * thspold real vector/matrix * tics real scalar * tmp integer scalar * tn real scalar * tp real scalar * tr real vector/matrix * var_acap * var_cap * var_vcap * ve real vector/matrix * vent_vol * wave_remote * wf real vector/matrix * whitenoise real vector/matrix * wra real vector/matrix * wrflag integer scalar * write_param * x boolean scalar * x0 real scalar * xl real scalar * xr real scalar * xvol real scalar * y boolean scalar * yl real scalar * ypres real scalar * yr real scalar * z boolean scalar * zeros *******************************************************/ static void simulate_(mxArray *P_PP_, mxArray *Q_PP_, mxArray *q_PP_, mxArray *ap_PP_, mxArray *ve_PP_, mxArray *qrs_PP_, mxArray *t_PP_, mxArray *num_PP_, mxArray *flag_P_, mxArray *th_P_, mxArray *outputfile_P_, mxArray *parameterfile_P_, mxArray *signals_P_ ) { mxArray *Mplhs_[3]; mxArray rhs_[4]; mxArray th; mxArray signals; mxArray P; mxArray Q; mxArray q; mxArray ap; mxArray ve; mxArray qrs; mxArray t; mxArray num; double preparation = 0.0; double breathing = 0.0; double dncm = 0.0; double baro = 0.0; double dra = 0.0; double dpasp = 0.0; double df = 0.0; double dqvo = 0.0; double tics = 0.0; double deltaT = 0.0; double ipfm = 0.0; int qrs_index = 0; mxArray sumdeltaT; double Sgran = 0.0; int Sratio = 0; double Slength = 0.0; mxArray at; int i = 0; unsigned short x = 0; mxArray thbreathe; mxArray thbreathes; mxArray dthbreathe; mxArray hilvhr; mxArray ilv; int rsastep = 0; double amp = 0.0; double freq = 0.0; double n = 0.0; mxArray i_1; mxArray tr; mxArray Ralvrp; mxArray Ralvr; mxArray kt; int lvrstep = 0; mxArray hra; int n_1 = 0; mxArray whitenoise; int dmin = 0; int dmax = 0; mxArray honeoverfra; mxArray Ralvrw; mxArray wra; mxArray tempPsp; mxArray deltaPsp; int kt_1 = 0; int ceostep = 0; mxArray hans; mxArray honeoverf; mxArray hf; mxArray wf; mxArray hvvo; mxArray Vvow; mxArray Vvo; int nvvostep = 0; double Crd = 0.0; double final = 0.0; mxArray rarange; int lengthra = 0; int lengthsa = 0; int lengtht = 0; int countn = 0; int countj = 0; int tmp = 0; mxArray summrap; mxArray summco; int fb_int = 0; double Crs = 0.0; mxArray Ptemp; mxArray tempp; mxArray tempv; double Pasp = 0.0; double Pratrsp = 0.0; double Fsp = 0.0; double Rasp = 0.0; double Clssp = 0.0; double Crssp = 0.0; double Qvosp = 0.0; mxArray thsp; mxArray bP; mxArray bPratr; mxArray i_2; mxArray bPtemp; mxArray bPratrtemp; mxArray sumP; mxArray sumPratr; double sumt = 0.0; mxArray thn; mxArray thp; double tn = 0.0; double tp = 0.0; int kstart = 0; int qrs_index_start = 0; mxArray fid; int fid2 = 0; int Nbytes = 0; mxArray annotator; int count_pc = 0; int wrflag = 0; mxArray outputfile2; int k = 0; mxArray Ptempn; double frac = 0.0; mxArray thc; mxArray avebP; mxArray avebPratr; mxArray tempilv; mxArray tha; double qpv = 0.0; unsigned short y = 0; double qv = 0.0; int sumdelta = 0; unsigned short ipfmcond = 0; mxArray mrap; mxArray mco; mxArray rarangei; double Crdo = 0.0; double ypres = 0.0; double xvol = 0.0; double alpha = 0.0; double x0 = 0.0; int kscale = 0; double c1 = 0.0; double d1 = 0.0; double denb1 = 0.0; double beta = 0.0; double c = 0.0; double d = 0.0; double denb = 0.0; double El = 0.0; double dEl = 0.0; double Er = 0.0; double dEr = 0.0; double Ela = 0.0; double dEla = 0.0; double Era = 0.0; double dEra = 0.0; double alphatau = 0.0; double Qamax = 0.0; double Qao = 0.0; double yl = 0.0; double xl = 0.0; double yr = 0.0; double xr = 0.0; mxArray Qtot; mxArray flagnew; mxArray thspold; mxArray thold; int fidp = 0; int parameter_change = 0; int atcount = 0; double start_index = 0.0; double start_time = 0.0; double end_time = 0.0; double h1 = 0.0; double h2 = 0.0; unsigned short z = 0; mxArray X; mxArray qrso; mxArray suffix; int I0_ = 0; unsigned short B0_ = 0; double R0_ = 0.0; mxArray RM0_; unsigned short B1_ = 0; unsigned short B2_ = 0; mxArray IM0_; double R1_ = 0.0; int I1_ = 0; mxArray IM1_; mxArray RM1_; mxArray RM2_; int I2_ = 0; mxArray IM2_; mxArray RM3_; double R2_ = 0.0; double R3_ = 0.0; double R4_ = 0.0; double R5_ = 0.0; mxArray RM4_; mxArray RM5_; mxArray TM0_; mxArray TM1_; mxArray TM2_; mxArray TM3_; mxArray TM4_; mxArray TM5_; unsigned short B3_ = 0; unsigned short B4_ = 0; unsigned short B5_ = 0; unsigned short B6_ = 0; mxArray IM3_; mxArray IM4_; int I3_ = 0; int I4_ = 0; mxArray IM5_; mxArray IM6_; mxArray IM7_; mxArray IM8_; mxArray IM9_; mxArray IM10_; mxArray IM11_; mxArray IM12_; mxArray IM13_; mxArray IM14_; mxArray IM15_; mxArray IM16_; mxArray IM17_; mxArray IM18_; unsigned short B7_ = 0; mxArray RM6_; mxArray RM7_; mxArray RM8_; mxArray RM9_; mxArray RM10_; mxArray RM11_; mxArray RM12_; mxArray RM13_; mxArray RM14_; mxArray RM15_; mxArray RM16_; mccRealInit(th); mccCopy(&th, th_P_); mccIntInit( signals ); mccCopy(&signals, signals_P_); mccRealInit(P); mccRealInit(Q); mccRealInit(q); mccRealInit(ap); mccRealInit(ve); mccRealInit(qrs); mccRealInit(t); mccRealInit(num); mccRealInit(sumdeltaT); mccRealInit(at); mccRealInit(thbreathe); mccRealInit(thbreathes); mccRealInit(dthbreathe); mccRealInit(hilvhr); mccRealInit(ilv); mccRealInit(i_1); mccRealInit(tr); mccRealInit(Ralvrp); mccRealInit(Ralvr); mccIntInit(kt); mccRealInit(hra); mccRealInit(whitenoise); mccRealInit(honeoverfra); mccRealInit(Ralvrw); mccRealInit(wra); mccRealInit(tempPsp); mccRealInit(deltaPsp); mccRealInit(hans); mccRealInit(honeoverf); mccRealInit(hf); mccRealInit(wf); mccRealInit(hvvo); mccRealInit(Vvow); mccRealInit(Vvo); mccRealInit(rarange); mccRealInit(summrap); mccRealInit(summco); mccRealInit(Ptemp); mccRealInit(tempp); mccRealInit(tempv); mccRealInit(thsp); mccRealInit(bP); mccRealInit(bPratr); mccIntInit(i_2); mccRealInit(bPtemp); mccRealInit(bPratrtemp); mccRealInit(sumP); mccRealInit(sumPratr); mccRealInit(thn); mccRealInit(thp); mccIntInit(fid); mccTextInit(annotator); mccTextInit(outputfile2); mccRealInit(Ptempn); mccRealInit(thc); mccRealInit(avebP); mccRealInit(avebPratr); mccRealInit(tempilv); mccRealInit(tha); mccRealInit(mrap); mccRealInit(mco); mccRealInit(rarangei); mccRealInit(Qtot); mccRealInit(flagnew); mccRealInit(thspold); mccRealInit(thold); mccRealInit(X); mccRealInit(qrso); mccTextInit(suffix); mccRealInit(RM0_); mccIntInit(IM0_); mccIntInit(IM1_); mccRealInit(RM1_); mccRealInit(RM2_); mccIntInit(IM2_); mccRealInit(RM3_); mccRealInit(RM4_); mccRealInit(RM5_); mccTextInit(TM0_); mccTextInit(TM1_); mccTextInit(TM2_); mccTextInit(TM3_); mccTextInit(TM4_); mccTextInit(TM5_); mccIntInit(IM3_); mccIntInit(IM4_); mccIntInit(IM5_); mccIntInit(IM6_); mccIntInit(IM7_); mccIntInit(IM8_); mccIntInit(IM9_); mccIntInit(IM10_); mccIntInit(IM11_); mccIntInit(IM12_); mccIntInit(IM13_); mccIntInit(IM14_); mccIntInit(IM15_); mccIntInit(IM16_); mccIntInit(IM17_); mccIntInit(IM18_); mccRealInit(RM6_); mccRealInit(RM7_); mccRealInit(RM8_); mccRealInit(RM9_); mccRealInit(RM10_); mccRealInit(RM11_); mccRealInit(RM12_); mccRealInit(RM13_); mccRealInit(RM14_); mccRealInit(RM15_); mccRealInit(RM16_); /* % Declaring C functions. */ /* % #function wave_remote read_key write_param */ /* % Checking number of arguments. If there are only two arguments, */ /* % this indicates MATLAB execution and thus on-line viewing is */ /* % turned off. (If it were left on, MATLAB would produce an error.) */ /* if (nargin == 2) */ /* REPLACED IF */ /* % Checking dimensionality of the argument flag -- status parameters. */ /* % If flag is of incorrect dimension, the program will exit in error. */ /* if (length(flag) ~= 8) */ I0_ = mccGetLength(flag_P_); B0_ = (I0_ != 8); if ((double)B0_) { /* error('flag is not of correct dimension'); */ mccError(&S221_); /* end */ } /* % Assigning status parameters to new variable names. */ /* preparation = flag(1); */ preparation = (mccPR(flag_P_)[(1-1)]); /* breathing = flag(2); */ breathing = (mccPR(flag_P_)[(2-1)]); /* dncm = flag(3); */ dncm = (mccPR(flag_P_)[(3-1)]); /* baro = flag(4); */ baro = (mccPR(flag_P_)[(4-1)]); /* dra = flag(5); */ dra = (mccPR(flag_P_)[(5-1)]); /* dpasp = flag(6); */ dpasp = (mccPR(flag_P_)[(6-1)]); /* df = flag(7); */ df = (mccPR(flag_P_)[(7-1)]); /* dqvo = flag(8); */ dqvo = (mccPR(flag_P_)[(8-1)]); /* % Assigning numerical integration variables. */ /* % Number of integration steps. */ /* tics = th(106); */ tics = (mccPR(&th)[(106-1)]); /* % Integration step size (s). */ /* deltaT = 1/th(113); */ deltaT = (1 / (double) (mccPR(&th)[(113-1)])); /* % Assigning integrate and fire variables. */ /* % Fraction of current cardiac cycle that integration step is at. */ /* ipfm = 0; */ ipfm = 0; /* % Current number of ventricular contractions. */ /* qrs_index = 1; */ qrs_index = 1; /* % Time in current cardiac cycle that integration is at. */ /* sumdeltaT = 0; */ { double tr_ = 0; mccAllocateMatrix(&sumdeltaT, 1, 1); *mccPR(&sumdeltaT) = tr_; } /* % Short-term regulatory systems and resting physiologic */ /* % perturbation variables. */ /* % Note there are restrictions on altering Sgran and Sratio. */ /* % 1) Sgran*Sratio <= 1.0. */ /* % 2) (1.5/Sgran) must be an integer. */ /* % 3) ((2/Sgran)-((Sratio*Sgran/2)/Sgran)) must be an integer. */ /* % 4) (0.5-(Sratio*Sgran/2))/Sgran must be an integer. */ /* % Granularity (s). */ /* Sgran = 0.0625; */ Sgran = 0.0625; /* % Ratio of length of averaging window to Sgran */ /* % (must be an integer). */ /* Sratio = 4; */ Sratio = 4; /* % Duration (samples). */ /* Slength = 40/Sgran; */ Slength = (40 / (double) Sgran); /* % Generation of a vector of arrival times for each respiratory cycle. */ /* % at(1) = 0 & length(at) ~= 1: Qlu periodic */ /* if (breathing == 1) */ if (( (breathing == 1) && !mccREL_NAN(breathing) )) { /* at = zeros(ceil((deltaT*tics)+1)+1,1); */ R0_ = ceil(((deltaT * (double) tics) + 1)); mccZerosMN(&at, (((int)R0_)+1), 1); /* i = 2; */ i = 2; /* x = (at(i) <= deltaT*tics+1); */ x = ( (((int)mccPR(&at)[(i-1)]) <= ((deltaT * (double) tics) + 1)) && !mccREL_NAN(((deltaT * (double) tics) + 1)) ); /* mbintscalar(x); */ /* while (x) */ while (1) { if (!((double)x)) break; /* i = i+1; */ i = (i + 1); /* at(i) = at(i-1)+th(42); */ mccPR(&at)[(i-1)] = ((mccPR(&at)[((i-1)-1)]) + (mccPR(&th)[(42-1)])); /* x = (at(i) <= deltaT*tics+1); */ x = ( ((mccPR(&at)[(i-1)]) <= ((deltaT * (double) tics) + 1)) && !mccREL_NAN((mccPR(&at)[(i-1)])) && !mccREL_NAN(((deltaT * (double) tics) + 1)) ); /* mbintscalar(x); */ /* end */ } /* at = at(1:i); */ { int i_, j_; int m_=1, n_=1, cx_ = 0; double *p_RM0_; int I_RM0_=1; double *p_at; int I_at=1; m_ = mccCalcSubscriptDimensions(m_, &n_, 1, ((int)(i - 1) + 1), &at); mccAllocateMatrix(&RM0_, m_, n_); I_RM0_ = (mccM(&RM0_) != 1 || mccN(&RM0_) != 1); p_RM0_ = mccPR(&RM0_); I_at = (mccM(&at) != 1 || mccN(&at) != 1); p_at = mccPR(&at) + ((int)(1 - .5)); if (m_ != 0) { for (j_=0; j_ 1 & lengthsa > 1) */ B2_ = (lengthra > 1); if ((double)B2_) { B2_ = (lengthsa > 1); } if ((double)B2_) { /* countn = 0; */ countn = 0; /* countj = 0; */ countj = 0; /* th(30) = final; */ mccPR(&th)[(30-1)] = final; /* th(29) = 30; */ mccPR(&th)[(29-1)] = 30; /* tmp = 0; */ tmp = 0; /* % Initializing variables for a single cardiac function curve. */ } else { /* elseif (lengthra > 1 & lengthsa == 1) */ B2_ = (lengthra > 1); if ((double)B2_) { B2_ = (lengthsa == 1); } if ((double)B2_) { /* countn = 0; */ countn = 0; /* countj = 0; */ countj = 0; /* th(30) = final; */ mccPR(&th)[(30-1)] = final; /* tmp = 0; */ tmp = 0; /* % Initializing variables for curve of average ql versus Pa. */ } else { /* elseif (lengthra == 1 & lengthsa > 1) */ B2_ = (lengthra == 1); if ((double)B2_) { B2_ = (lengthsa > 1); } if ((double)B2_) { /* final = th(30); */ final = (mccPR(&th)[(30-1)]); /* rarange = final; */ { double tr_ = final; mccAllocateMatrix(&rarange, 1, 1); *mccPR(&rarange) = tr_; } /* th(29) = 30; */ mccPR(&th)[(29-1)] = 30; /* tmp = 0; */ tmp = 0; /* end */ } } } /* % Initializing variables for averaging Pra and ql over each cardiac cycle. */ /* summrap = 0; */ { double tr_ = 0; mccAllocateMatrix(&summrap, 1, 1); *mccPR(&summrap) = tr_; } /* summco = 0; */ { double tr_ = 0; mccAllocateMatrix(&summco, 1, 1); *mccPR(&summco) = tr_; } /* % Initializing variable representing number of beats until voltage */ /* % source(s) is varied. */ /* fb_int = 10; */ fb_int = 10; } else { /* elseif (preparation == 2) */ if (( (preparation == 2) && !mccREL_NAN(preparation) )) { /* % Pre-allocating memory. */ /* Crs = ((th(27)-th(12))/th(32))*th(5); */ Crs = ((((mccPR(&th)[(27-1)]) - (mccPR(&th)[(12-1)])) / (double) (mccPR(&th)[(32-1)])) * (double) (mccPR(&th)[(5-1)])); /* lengthra = length([Crs:th(89):60]); */ mccColon(&RM3_, Crs, (mccPR(&th)[(89-1)]), (double)60); lengthra = mccGetLength(&RM3_); /* num = zeros(2,lengthra); */ mccZerosMN(&num, 2, lengthra); mccLOG(&num) = 0; mccSTRING(&num) = 0; /* if (length(num(1,:)) > 1) */ { int i_, j_; int m_=1, n_=1, cx_ = 0; int *p_IM1_; int I_IM1_=1; double *p_num; int I_num=1, J_num; m_ = mcmCalcResultSize(m_, &n_, 1, mccN(&num)); mccAllocateMatrix(&IM1_, m_, n_); I_IM1_ = (mccM(&IM1_) != 1 || mccN(&IM1_) != 1); p_IM1_ = mccIPR(&IM1_); if (mccN(&num) == 1) { I_num = J_num = 0;} else { I_num = 1; J_num=mccM(&num)-m_; } p_num = mccPR(&num) + (1-1) + mccM(&num) * 0; if (m_ != 0) { for (j_=0; j_ 1); if ((double)B2_) { /* countn = 0; */ countn = 0; /* Crd = Crs; */ Crd = Crs; /* th(6) = (th(32)/(th(27)-th(12)))*Crd; */ mccPR(&th)[(6-1)] = (((mccPR(&th)[(32-1)]) / (double) ((mccPR(&th)[(27-1)]) - (mccPR(&th)[(12-1)]))) * (double) Crd); /* end */ } /* % Initializing variables for integrating Pra and qv over each cardiac cycle. */ /* summrap = 0; */ { double tr_ = 0; mccAllocateMatrix(&summrap, 1, 1); *mccPR(&summrap) = tr_; } /* summco = 0; */ { double tr_ = 0; mccAllocateMatrix(&summco, 1, 1); *mccPR(&summco) = tr_; } /* % Initializing variable representing number of beats until Crd */ /* % is varied. */ /* fb_int = 10; */ fb_int = 10; } else { /* else */ /* num = zeros(2,1); */ mccZerosMN(&num, 2, 1); mccLOG(&num) = 0; mccSTRING(&num) = 0; /* end */ } } /* % Resetting ventricular compliance values for the intact circulatory */ /* % preparation with only linear elements. */ /* if (preparation == 5) */ if (( (preparation == 5) && !mccREL_NAN(preparation) )) { /* th(1) = th(1)*((th(26)-th(9))/th(31)); */ mccPR(&th)[(1-1)] = ((mccPR(&th)[(1-1)]) * (double) (((mccPR(&th)[(26-1)]) - (mccPR(&th)[(9-1)])) / (double) (mccPR(&th)[(31-1)]))); /* th(2) = th(2)*((th(26)-th(9))/th(31)); */ mccPR(&th)[(2-1)] = ((mccPR(&th)[(2-1)]) * (double) (((mccPR(&th)[(26-1)]) - (mccPR(&th)[(9-1)])) / (double) (mccPR(&th)[(31-1)]))); /* th(5) = th(5)*((th(27)-th(12))/th(32)); */ mccPR(&th)[(5-1)] = ((mccPR(&th)[(5-1)]) * (double) (((mccPR(&th)[(27-1)]) - (mccPR(&th)[(12-1)])) / (double) (mccPR(&th)[(32-1)]))); /* th(6) = th(6)*((th(27)-th(12))/th(32)); */ mccPR(&th)[(6-1)] = ((mccPR(&th)[(6-1)]) * (double) (((mccPR(&th)[(27-1)]) - (mccPR(&th)[(12-1)])) / (double) (mccPR(&th)[(32-1)]))); /* th(31) = th(26)-th(9); */ mccPR(&th)[(31-1)] = ((mccPR(&th)[(26-1)]) - (mccPR(&th)[(9-1)])); /* th(32) = th(27)-th(12); */ mccPR(&th)[(32-1)] = ((mccPR(&th)[(27-1)]) - (mccPR(&th)[(12-1)])); /* end */ } /* % Initializing the function output waveforms. */ /* % Adjustable parameters. */ /* ap(1:6,1) = [th(1)*((th(26)-th(9))/th(31)) th(5)*((th(27)-th(12))/th(32)) th(11) th(16) th(22) .3*sqrt(th(24))]'; */ mccCatenateColumns(&RM3_, mccTempMatrix(((mccPR(&th)[(1-1)]) * (double) (((mccPR(&th)[(26-1)]) - (mccPR(&th)[(9-1)])) / (double) (mccPR(&th)[(31-1)]))), 0., mccREAL, 0 ), mccTempMatrix(((mccPR(&th)[(5-1)]) * (double) (((mccPR(&th)[(27-1)]) - (mccPR(&th)[(12-1)])) / (double) (mccPR(&th)[(32-1)]))), 0., mccREAL, 0 )); mccCatenateColumns(&RM0_, &RM3_, mccTempVectorElement(&th, 11)); mccCatenateColumns(&RM2_, &RM0_, mccTempVectorElement(&th, 16)); mccCatenateColumns(&RM1_, &RM2_, mccTempVectorElement(&th, 22)); R1_ = sqrt((mccPR(&th)[(24-1)])); mccCatenateColumns(&RM4_, &RM1_, mccTempMatrix((.3 * (double) R1_), 0., mccREAL, 0 )); mccConjTrans(&RM5_, &RM4_); { int i_, j_; int m_=1, n_=1, cx_ = 0; double *p_ap; int I_ap=1, J_ap; double *p_RM5_; int I_RM5_=1; m_ = mcmCalcResultSize(m_, &n_, ((int)(6 - 1) + 1), 1); m_ = mcmCalcResultSize(m_, &n_, mccM(&RM5_), mccN(&RM5_)); if (mccM(&ap) == 1) { I_ap = J_ap = 0;} else { I_ap = 1; J_ap=mccM(&ap)-m_; } p_ap = mccPR(&ap) + ((int)(1 - .5)) + mccM(&ap) * (1-1); I_RM5_ = (mccM(&RM5_) != 1 || mccN(&RM5_) != 1); p_RM5_ = mccPR(&RM5_); if (m_ != 0) { for (j_=0; j_ 0 & baro < 4) */ B0_ = ( (baro > 0) && !mccREL_NAN(baro) ); if ((double)B0_) { B0_ = ( (baro < 4) && !mccREL_NAN(baro) ); } if ((double)B0_) { /* % Initializing input pressures. (The lowest */ /* % index indicates the most recent pressure.) */ /* bP = zeros(Slength,1); */ mccZerosMN(&bP, ((int)Slength), 1); /* bPratr = zeros(Slength,1); */ mccZerosMN(&bPratr, ((int)Slength), 1); /* for i = 1:Slength; */ mccIntColon2(&IM1_, 1, ((int)Slength)); mccCreateEmpty( &i_2 ); for (I2_ = 0; I2_ < mccN(&IM1_); ++I2_) { mccForCol(&i_2, &IM1_, I2_); /* bP(i) = P(2,1); */ mccFindIndex(&IM2_, &i_2); { int i_, j_; int m_=1, n_=1, cx_ = 0; double *p_bP; int *p_IM2_; int I_IM2_=1; if (!mccNOTSET(&bP)) m_ = mccCalcSubscriptDimensions(m_, &n_, mccM(&IM2_), mccN(&IM2_), &bP); I_IM2_ = (mccM(&IM2_) != 1 || mccN(&IM2_) != 1); p_IM2_ = mccIPR(&IM2_); if (m_ != 0) { for (j_=0; j_= P(3,k)); */ x = ( ((mccPR(&P)[(k-1)*mccM(&P) + (4-1)]) >= (mccPR(&P)[(k-1)*mccM(&P) + (3-1)])) && !mccREL_NAN((mccPR(&P)[(k-1)*mccM(&P) + (4-1)])) && !mccREL_NAN((mccPR(&P)[(k-1)*mccM(&P) + (3-1)])) ); /* mbintscalar(x); */ /* if (x) */ if ((double)x) { /* P(9,k) = P(3,k); */ mccPR(&P)[(9-1) + mccM(&P)*(k-1)] = (mccPR(&P)[(k-1)*mccM(&P) + (3-1)]); } else { /* else */ /* P(9,k) = P(4,k); */ mccPR(&P)[(9-1) + mccM(&P)*(k-1)] = (mccPR(&P)[(k-1)*mccM(&P) + (4-1)]); /* end */ } /* end */ } /* sumPratr = sumPratr+(P(9,k)-P(7,k))*deltaT; */ R1_ = (((mccPR(&P)[(k-1)*mccM(&P) + (9-1)]) - (mccPR(&P)[(k-1)*mccM(&P) + (7-1)])) * (double) deltaT); { int i_, j_; int m_=1, n_=1, cx_ = 0; double *p_sumPratr; int I_sumPratr=1; double *p_1sumPratr; int I_1sumPratr=1; m_ = mcmCalcResultSize(m_, &n_, mccM(&sumPratr), mccN(&sumPratr)); mccAllocateMatrix(&sumPratr, m_, n_); I_sumPratr = (mccM(&sumPratr) != 1 || mccN(&sumPratr) != 1); p_sumPratr = mccPR(&sumPratr); I_1sumPratr = (mccM(&sumPratr) != 1 || mccN(&sumPratr) != 1); p_1sumPratr = mccPR(&sumPratr); if (m_ != 0) { for (j_=0; j_ Sgran); */ x = ( (sumt > Sgran) && !mccREL_NAN(sumt) && !mccREL_NAN(Sgran) ); /* mbintscalar(x); */ /* if (x) */ if ((double)x) { /* % Setting final th values of previous Sgran to initial th */ /* % value of current Sgran. */ /* thp = thn; */ mccCopy(&thp, &thn); /* tp = tn; */ tp = tn; /* % Initializing thc -- a vector which contains the mandated */ /* % adjustments to controllable parameters of sampling period */ /* % Sgran. */ /* thc = zeros(5,1); */ mccZerosMN(&thc, 5, 1); /* % Implementing the arterial baroreflex. */ /* if (baro == 1 | baro == 3) */ B0_ = ( (baro == 1) && !mccREL_NAN(baro) ); if (!(double)B0_) { B0_ = ( (baro == 3) && !mccREL_NAN(baro) ); } if ((double)B0_) { /* % Calculating the integral of Pa precisely */ /* % over the Sgran interval. */ /* sumP = sumP-P(2,k)*deltaT; */ R1_ = ((mccPR(&P)[(k-1)*mccM(&P) + (2-1)]) * (double) deltaT); { int i_, j_; int m_=1, n_=1, cx_ = 0; double *p_sumP; int I_sumP=1; double *p_1sumP; int I_1sumP=1; m_ = mcmCalcResultSize(m_, &n_, mccM(&sumP), mccN(&sumP)); mccAllocateMatrix(&sumP, m_, n_); I_sumP = (mccM(&sumP) != 1 || mccN(&sumP) != 1); p_sumP = mccPR(&sumP); I_1sumP = (mccM(&sumP) != 1 || mccN(&sumP) != 1); p_1sumP = mccPR(&sumP); if (m_ != 0) { for (j_=0; j_ P(1,k)); */ x = ( ((mccPR(&P)[(k-1)*mccM(&P) + (6-1)]) > (mccPR(&P)[(k-1)*mccM(&P) + (1-1)])) && !mccREL_NAN((mccPR(&P)[(k-1)*mccM(&P) + (6-1)])) && !mccREL_NAN((mccPR(&P)[(k-1)*mccM(&P) + (1-1)])) ); /* mbintscalar(x); */ /* if (x) */ if ((double)x) { /* qpv = (P(6,k)-P(1,k))/th(20); */ qpv = (((mccPR(&P)[(k-1)*mccM(&P) + (6-1)]) - (mccPR(&P)[(k-1)*mccM(&P) + (1-1)])) / (double) (mccPR(&th)[(20-1)])); } else { /* else */ /* qpv = 0; */ qpv = 0; /* end */ } /* summco = summco+0.5*deltaT*(q(1,k-1)+qpv); */ R1_ = ((0.5 * (double) deltaT) * (double) ((mccPR(&q)[((k-1)-1)*mccM(&q) + (1-1)]) + qpv)); { int i_, j_; int m_=1, n_=1, cx_ = 0; double *p_summco; int I_summco=1; double *p_1summco; int I_1summco=1; m_ = mcmCalcResultSize(m_, &n_, mccM(&summco), mccN(&summco)); mccAllocateMatrix(&summco, m_, n_); I_summco = (mccM(&summco) != 1 || mccN(&summco) != 1); p_summco = mccPR(&summco); I_1summco = (mccM(&summco) != 1 || mccN(&summco) != 1); p_1summco = mccPR(&summco); if (m_ != 0) { for (j_=0; j_ P(4,k) & P(4,k) >= th(91)); */ x = (!!( ((mccPR(&P)[(k-1)*mccM(&P) + (3-1)]) > (mccPR(&P)[(k-1)*mccM(&P) + (4-1)])) && !mccREL_NAN((mccPR(&P)[(k-1)*mccM(&P) + (3-1)])) && !mccREL_NAN((mccPR(&P)[(k-1)*mccM(&P) + (4-1)])) ) && !!( ((mccPR(&P)[(k-1)*mccM(&P) + (4-1)]) >= (mccPR(&th)[(91-1)])) && !mccREL_NAN((mccPR(&P)[(k-1)*mccM(&P) + (4-1)])) && !mccREL_NAN((mccPR(&th)[(91-1)])) )); /* y = (P(3,k) > th(91) & th(91) > P(4,k)); */ y = (!!( ((mccPR(&P)[(k-1)*mccM(&P) + (3-1)]) > (mccPR(&th)[(91-1)])) && !mccREL_NAN((mccPR(&P)[(k-1)*mccM(&P) + (3-1)])) && !mccREL_NAN((mccPR(&th)[(91-1)])) ) && !!( ((mccPR(&th)[(91-1)]) > (mccPR(&P)[(k-1)*mccM(&P) + (4-1)])) && !mccREL_NAN((mccPR(&th)[(91-1)])) && !mccREL_NAN((mccPR(&P)[(k-1)*mccM(&P) + (4-1)])) )); /* mbintscalar(x); */ /* mbintscalar(y); */ /* if (x) */ if ((double)x) { /* qv = (P(3,k)-P(4,k))/th(17); */ qv = (((mccPR(&P)[(k-1)*mccM(&P) + (3-1)]) - (mccPR(&P)[(k-1)*mccM(&P) + (4-1)])) / (double) (mccPR(&th)[(17-1)])); } else { /* elseif (y) */ if ((double)y) { /* qv = (P(3,k)-th(91))/th(17); */ qv = (((mccPR(&P)[(k-1)*mccM(&P) + (3-1)]) - (mccPR(&th)[(91-1)])) / (double) (mccPR(&th)[(17-1)])); } else { /* else */ /* qv = 0; */ qv = 0; /* end */ } } /* summco = summco+0.5*deltaT*(q(4,k-1)+qv); */ R1_ = ((0.5 * (double) deltaT) * (double) ((mccPR(&q)[((k-1)-1)*mccM(&q) + (4-1)]) + qv)); { int i_, j_; int m_=1, n_=1, cx_ = 0; double *p_summco; int I_summco=1; double *p_1summco; int I_1summco=1; m_ = mcmCalcResultSize(m_, &n_, mccM(&summco), mccN(&summco)); mccAllocateMatrix(&summco, m_, n_); I_summco = (mccM(&summco) != 1 || mccN(&summco) != 1); p_summco = mccPR(&summco); I_1summco = (mccM(&summco) != 1 || mccN(&summco) != 1); p_1summco = mccPR(&summco); if (m_ != 0) { for (j_=0; j_ th(43)) */ B0_ = ( (preparation == 4) && !mccREL_NAN(preparation) ); if ((double)B0_) { B0_ = ( (qrs_index > (mccPR(&th)[(43-1)])) && !mccREL_NAN((mccPR(&th)[(43-1)])) ); } if ((double)B0_) { /* sumdelta = 0; */ sumdelta = 0; /* frac = 0; */ frac = 0; /* end */ } /* ipfm = ipfm + frac; */ ipfm = (ipfm + frac); /* % Completing a cardiac cycle when ipfm is greater than or equal to one. */ /* ipfmcond = (ipfm >= 1); */ ipfmcond = ( (ipfm >= 1) && !mccREL_NAN(ipfm) ); /* mbintscalar(ipfmcond) */ /* if (ipfmcond) */ if ((double)ipfmcond) { /* % Resetting the ipfm model once the current cardiac contraction */ /* % is complete. */ /* sumdeltaT = (ipfm - 1)/th(22); */ { double tr_ = ((ipfm - 1) / (double) (mccPR(&th)[(22-1)])); mccAllocateMatrix(&sumdeltaT, 1, 1); *mccPR(&sumdeltaT) = tr_; } /* ipfm = ipfm - 1; */ ipfm = (ipfm - 1); /* qrs_index = qrs_index+1; % Number of beats. */ qrs_index = (qrs_index + 1); /* ap(7,qrs_index) = t(k)-sumdeltaT; % Time of each beat. */ mccPR(&ap)[(7-1) + mccM(&ap)*(qrs_index-1)] = ((mccPR(&t)[(k-1)]) - *mccPR(&sumdeltaT)); /* ap(8,qrs_index) = k; % Sample number of each beat. */ mccPR(&ap)[(8-1) + mccM(&ap)*(qrs_index-1)] = k; /* % Setting next systolic interval based on previous */ /* % cardiac cycle length. */ /* th(24) = t(k)-sumdeltaT-ap(7,qrs_index-1); */ mccPR(&th)[(24-1)] = (((mccPR(&t)[(k-1)]) - *mccPR(&sumdeltaT)) - (mccPR(&ap)[((qrs_index-1)-1)*mccM(&ap) + (7-1)])); /* % Implementing mandated changes to Cls and Crs. */ /* th(1) = thn(1); */ mccPR(&th)[(1-1)] = (mccPR(&thn)[(1-1)]); /* th(5) = thn(5); */ mccPR(&th)[(5-1)] = (mccPR(&thn)[(5-1)]); /* % Varying parameters and computing averages for generation */ /* % of cardiac function/venous return curves */ /* if (preparation == 1) */ if (( (preparation == 1) && !mccREL_NAN(preparation) )) { /* % Calculating the integral of Pra and qpv */ /* % precisely over the previous cardiac cycle. */ /* summrap = summrap-0.5*deltaT*(P(9,k-1)+P(9,k)); */ R1_ = ((0.5 * (double) deltaT) * (double) ((mccPR(&P)[((k-1)-1)*mccM(&P) + (9-1)]) + (mccPR(&P)[(k-1)*mccM(&P) + (9-1)]))); { int i_, j_; int m_=1, n_=1, cx_ = 0; double *p_summrap; int I_summrap=1; double *p_1summrap; int I_1summrap=1; m_ = mcmCalcResultSize(m_, &n_, mccM(&summrap), mccN(&summrap)); mccAllocateMatrix(&summrap, m_, n_); I_summrap = (mccM(&summrap) != 1 || mccN(&summrap) != 1); p_summrap = mccPR(&summrap); I_1summrap = (mccM(&summrap) != 1 || mccN(&summrap) != 1); p_1summrap = mccPR(&summrap); if (m_ != 0) { for (j_=0; j_ 180) */ if (( ((mccPR(&th)[(29-1)]) > 180) && !mccREL_NAN((mccPR(&th)[(29-1)])) )) { /* tmp = tmp+1; */ tmp = (tmp + 1); /* final = final-0.5*tmp; */ final = (final - (0.5 * (double) tmp)); /* rarangei = final:-th(88):0; */ mccColon(&rarangei, final, (-(mccPR(&th)[(88-1)])), (double)0); /* while (length(rarangei) < lengthra-1) */ while (1) { I1_ = mccGetLength(&rarangei); B0_ = (I1_ < (lengthra - 1)); if (!((double)B0_)) break; /* rarangei = [rarangei, rarangei(length(rarangei))-th(88)]; */ I1_ = mccGetLength(&rarangei); mccCatenateColumns(&rarangei, &rarangei, mccTempMatrix(((mccPR(&rarangei)[(I1_-1)]) - (mccPR(&th)[(88-1)])), 0., mccREAL, 0 )); /* end */ } /* rarange = [rarangei, th(23)+1]; */ mccCatenateColumns(&rarange, &rarangei, mccTempMatrix(((mccPR(&th)[(23-1)]) + 1), 0., mccREAL, 0 )); /* if (lengthra == 2); */ if ((lengthra == 2)) { /* lengthra = 1; */ lengthra = 1; /* rarange = final; */ { double tr_ = final; mccAllocateMatrix(&rarange, 1, 1); *mccPR(&rarange) = tr_; } /* end */ } /* th(30) = final; */ mccPR(&th)[(30-1)] = final; /* end */ } /* fb_int = fb_int+5; */ fb_int = (fb_int + 5); /* countj = 0; */ countj = 0; /* P(3,k) = rarange(countj+1); */ mccPR(&P)[(3-1) + mccM(&P)*(k-1)] = (mccPR(&rarange)[((countj+1)-1)]); } else { /* elseif (countn ~= lengtht) */ if ((countn != lengtht)) { /* P(3,k) = th(30); */ mccPR(&P)[(3-1) + mccM(&P)*(k-1)] = (mccPR(&th)[(30-1)]); /* fb_int = fb_int+5; */ fb_int = (fb_int + 5); /* end */ } } /* end */ } /* % Resetting the initial values for the integration */ /* % of Pra and qpv over the next cardiac cycle. */ /* summrap = 0.5*sumdeltaT*(P(9,k-1)+P(9,k)); */ { double tr_ = ((0.5 * (double) *mccPR(&sumdeltaT)) * (double) ((mccPR(&P)[((k-1)-1)*mccM(&P) + (9-1)]) + (mccPR(&P)[(k-1)*mccM(&P) + (9-1)]))); mccAllocateMatrix(&summrap, 1, 1); *mccPR(&summrap) = tr_; } /* summco = 0.5*sumdeltaT*(q(1,k-1)+qpv); */ { double tr_ = ((0.5 * (double) *mccPR(&sumdeltaT)) * (double) ((mccPR(&q)[((k-1)-1)*mccM(&q) + (1-1)]) + qpv)); mccAllocateMatrix(&summco, 1, 1); *mccPR(&summco) = tr_; } /* end */ } /* if (preparation == 2) */ if (( (preparation == 2) && !mccREL_NAN(preparation) )) { /* % Calculating the integral of Pra and qv */ /* % precisely over the previous cardiac cycle. */ /* summrap = summrap-0.5*deltaT*(P(9,k-1)+P(9,k)); */ R1_ = ((0.5 * (double) deltaT) * (double) ((mccPR(&P)[((k-1)-1)*mccM(&P) + (9-1)]) + (mccPR(&P)[(k-1)*mccM(&P) + (9-1)]))); { int i_, j_; int m_=1, n_=1, cx_ = 0; double *p_summrap; int I_summrap=1; double *p_1summrap; int I_1summrap=1; m_ = mcmCalcResultSize(m_, &n_, mccM(&summrap), mccN(&summrap)); mccAllocateMatrix(&summrap, m_, n_); I_summrap = (mccM(&summrap) != 1 || mccN(&summrap) != 1); p_summrap = mccPR(&summrap); I_1summrap = (mccM(&summrap) != 1 || mccN(&summrap) != 1); p_1summrap = mccPR(&summrap); if (m_ != 0) { for (j_=0; j_ 1) */ B6_ = ( (preparation == 1) && !mccREL_NAN(preparation) ); if ((double)B6_) { B6_ = (lengthra > 1); } if ((double)B6_) { /* th(30) = thold(30); */ mccPR(&th)[(30-1)] = (mccPR(&thold)[(30-1)]); /* end */ } /* if (preparation == 1 & lengthsa > 1) */ B6_ = ( (preparation == 1) && !mccREL_NAN(preparation) ); if ((double)B6_) { B6_ = (lengthsa > 1); } if ((double)B6_) { /* th(29) = thold(29); */ mccPR(&th)[(29-1)] = (mccPR(&thold)[(29-1)]); /* end */ } /* if (preparation == 2 & lengthra > 1) */ B6_ = ( (preparation == 2) && !mccREL_NAN(preparation) ); if ((double)B6_) { B6_ = (lengthra > 1); } if ((double)B6_) { /* th(6) = thold(6); */ mccPR(&th)[(6-1)] = (mccPR(&thold)[(6-1)]); /* end */ } /* % Setting annotator flag. */ /* if (th(105) == 0) */ if (( ((mccPR(&th)[(105-1)]) == 0) && !mccREL_NAN((mccPR(&th)[(105-1)])) )) { /* annotator = 'wqrs'; */ mccCreateString(&annotator, "wqrs"); } else { /* else */ /* annotator = 'qrs'; */ mccCreateString(&annotator, "qrs"); /* end */ } /* % Determining if parameter update is relevant to */ /* % status of current simulation. */ /* parameter_change = param_change(th,thold,flag); */ param_change_(&IM2_, &th, &thold, flag_P_); parameter_change = ((int)mccIPR(&IM2_)[(1-1)]); /* mbintscalar(parameter_change == 1); */ /* if (parameter_change == 1) */ if ((parameter_change == 1)) { /* % Annotating and documenting the relevant parameter update. */ /* count_pc = count_pc+1; */ count_pc = (count_pc + 1); /* ap(9,qrs_index) = count_pc; */ mccPR(&ap)[(9-1) + mccM(&ap)*(qrs_index-1)] = count_pc; /* write_param(parameterfile,num2str(count_pc)); */ mccFixInternalMatrix( &(rhs_[0]), mccTempMatrix(count_pc, 0., mccINT, 0 ), 0 ); mccImport(&TM5_, (mxArray *) mlfNum2str( &(rhs_[0]), 0), 1, 1214); mccFreeMlfRhs( rhs_, 1); mccFixInternalMatrix( &(rhs_[0]), parameterfile_P_, 0 ); mccFixInternalMatrix( &(rhs_[1]), &TM5_, 0 ); mlfWrite_param( &(rhs_[0]), &(rhs_[1])); mccFreeMlfRhs( rhs_, 2); /* % Adjusting setpoint pressures. */ /* thsp(1) = th(40); */ mccPR(&thsp)[(1-1)] = (mccPR(&th)[(40-1)]); /* thsp(7) = th(41); */ mccPR(&thsp)[(7-1)] = (mccPR(&th)[(41-1)]); /* % Conserving Qfr by altering Pth at the functional reserve */ /* % volume of the lungs. */ /* th(23) = th(25)-((th(98)-th(102))/th(101)); */ mccPR(&th)[(23-1)] = ((mccPR(&th)[(25-1)]) - (((mccPR(&th)[(98-1)]) - (mccPR(&th)[(102-1)])) / (double) (mccPR(&th)[(101-1)]))); /* % Updating respiratory-related pressures and volumes */ /* % over the remainder of the integration period, if necessary. */ /* % No breathing. */ /* if (breathing == 0 & th(23) ~= thold(23)) */ B6_ = ( (breathing == 0) && !mccREL_NAN(breathing) ); if ((double)B6_) { B6_ = ( ((mccPR(&th)[(23-1)]) != (mccPR(&thold)[(23-1)])) || mccREL_NAN((mccPR(&th)[(23-1)])) || mccREL_NAN((mccPR(&thold)[(23-1)])) ); } if ((double)B6_) { /* thbreathe = resp_act(th,at,deltaT/2,0,(tics-1)*deltaT); */ resp_act__1(&thbreathe, &th, &at, (deltaT / (double) 2), 0, ((tics - 1) * (double) deltaT)); /* % Fixed-rate breathing. */ } else { /* elseif (breathing == 1 & (th(42) ~= thold(42) | th(77) ~= thold(77) | th(23) ~= thold(23) | th(100) ~= thold(100))) */ B3_ = ( (breathing == 1) && !mccREL_NAN(breathing) ); if ((double)B3_) { B6_ = ( ((mccPR(&th)[(42-1)]) != (mccPR(&thold)[(42-1)])) || mccREL_NAN((mccPR(&th)[(42-1)])) || mccREL_NAN((mccPR(&thold)[(42-1)])) ); if (!(double)B6_) { B6_ = ( ((mccPR(&th)[(77-1)]) != (mccPR(&thold)[(77-1)])) || mccREL_NAN((mccPR(&th)[(77-1)])) || mccREL_NAN((mccPR(&thold)[(77-1)])) ); } B5_ = (double)B6_; if (!(double)B5_) { B5_ = ( ((mccPR(&th)[(23-1)]) != (mccPR(&thold)[(23-1)])) || mccREL_NAN((mccPR(&th)[(23-1)])) || mccREL_NAN((mccPR(&thold)[(23-1)])) ); } B4_ = (double)B5_; if (!(double)B4_) { B4_ = ( ((mccPR(&th)[(100-1)]) != (mccPR(&thold)[(100-1)])) || mccREL_NAN((mccPR(&th)[(100-1)])) || mccREL_NAN((mccPR(&thold)[(100-1)])) ); } B3_ = (double)B4_; } if ((double)B3_) { /* atcount = 2; */ atcount = 2; /* x = (at(atcount) < t(k)+1.5); */ x = ( ((mccPR(&at)[(atcount-1)]) < ((mccPR(&t)[(k-1)]) + 1.5)) && !mccREL_NAN((mccPR(&at)[(atcount-1)])) && !mccREL_NAN(((mccPR(&t)[(k-1)]) + 1.5)) ); /* mbintscalar(x); */ /* while (x) */ while (1) { if (!((double)x)) break; /* atcount=atcount+1; */ atcount = (atcount + 1); /* x = (at(atcount) < t(k)+1.5); */ x = ( ((mccPR(&at)[(atcount-1)]) < ((mccPR(&t)[(k-1)]) + 1.5)) && !mccREL_NAN((mccPR(&at)[(atcount-1)])) && !mccREL_NAN(((mccPR(&t)[(k-1)]) + 1.5)) ); /* mbintscalar(x); */ /* end */ } /* start_index = k+ceil((at(atcount)-t(k))/deltaT); */ R1_ = ceil((((mccPR(&at)[(atcount-1)]) - (mccPR(&t)[(k-1)])) / (double) deltaT)); start_index = (k + R1_); /* start_time = t(k)+deltaT*ceil((at(atcount)-t(k))/deltaT)-at(atcount); */ R1_ = ceil((((mccPR(&at)[(atcount-1)]) - (mccPR(&t)[(k-1)])) / (double) deltaT)); start_time = (((mccPR(&t)[(k-1)]) + (deltaT * (double) R1_)) - (mccPR(&at)[(atcount-1)])); /* end_time = (length(thbreathe)-(2*(start_index-1)+1))*(deltaT/2)+start_time; */ I1_ = mccGetLength(&thbreathe); end_time = (((I1_ - ((2 * (double) (start_index - 1)) + 1)) * (double) (deltaT / (double) 2)) + start_time); /* if (start_index < tics) */ if (( (start_index < tics) && !mccREL_NAN(start_index) )) { /* at = [at(1:atcount); zeros(length(start_index:tics)+1,1)]; */ { int i_, j_; int m_=1, n_=1, cx_ = 0; double *p_RM0_; int I_RM0_=1; double *p_at; int I_at=1; m_ = mccCalcSubscriptDimensions(m_, &n_, 1, ((int)(atcount - 1) + 1), &at); mccAllocateMatrix(&RM0_, m_, n_); I_RM0_ = (mccM(&RM0_) != 1 || mccN(&RM0_) != 1); p_RM0_ = mccPR(&RM0_); I_at = (mccM(&at) != 1 || mccN(&at) != 1); p_at = mccPR(&at) + ((int)(1 - .5)); if (m_ != 0) { for (j_=0; j_ P(1,k)); */ x = ( ((mccPR(&P)[(k-1)*mccM(&P) + (6-1)]) > (mccPR(&P)[(k-1)*mccM(&P) + (1-1)])) && !mccREL_NAN((mccPR(&P)[(k-1)*mccM(&P) + (6-1)])) && !mccREL_NAN((mccPR(&P)[(k-1)*mccM(&P) + (1-1)])) ); /* mbintscalar(x); */ /* if (x) */ if ((double)x) { /* q(1,k) = (P(6,k)-P(1,k))/th(20); */ mccPR(&q)[(1-1) + mccM(&q)*(k-1)] = (((mccPR(&P)[(k-1)*mccM(&P) + (6-1)]) - (mccPR(&P)[(k-1)*mccM(&P) + (1-1)])) / (double) (mccPR(&th)[(20-1)])); } else { /* else */ /* q(1,k) = 0; */ mccPR(&q)[(1-1) + mccM(&q)*(k-1)] = 0; /* end */ } } else { /* elseif (preparation == 3) */ if (( (preparation == 3) && !mccREL_NAN(preparation) )) { /* x = (th(34) > P(1,k)); */ x = ( ((mccPR(&th)[(34-1)]) > (mccPR(&P)[(k-1)*mccM(&P) + (1-1)])) && !mccREL_NAN((mccPR(&th)[(34-1)])) && !mccREL_NAN((mccPR(&P)[(k-1)*mccM(&P) + (1-1)])) ); /* mbintscalar(x); */ /* if (x) */ if ((double)x) { /* q(1,k) = (th(34)-P(1,k))/th(20); */ mccPR(&q)[(1-1) + mccM(&q)*(k-1)] = (((mccPR(&th)[(34-1)]) - (mccPR(&P)[(k-1)*mccM(&P) + (1-1)])) / (double) (mccPR(&th)[(20-1)])); } else { /* else */ /* q(1,k) = 0; */ mccPR(&q)[(1-1) + mccM(&q)*(k-1)] = 0; /* end */ } } else { /* elseif (preparation == 10) */ if (( (preparation == 10) && !mccREL_NAN(preparation) )) { /* x = (P(11,k) > P(1,k)); */ x = ( ((mccPR(&P)[(k-1)*mccM(&P) + (11-1)]) > (mccPR(&P)[(k-1)*mccM(&P) + (1-1)])) && !mccREL_NAN((mccPR(&P)[(k-1)*mccM(&P) + (11-1)])) && !mccREL_NAN((mccPR(&P)[(k-1)*mccM(&P) + (1-1)])) ); /* mbintscalar(x); */ /* if (x) */ if ((double)x) { /* q(1,k) = (P(11,k)-P(1,k))/th(83); */ mccPR(&q)[(1-1) + mccM(&q)*(k-1)] = (((mccPR(&P)[(k-1)*mccM(&P) + (11-1)]) - (mccPR(&P)[(k-1)*mccM(&P) + (1-1)])) / (double) (mccPR(&th)[(83-1)])); } else { /* else */ /* q(1,k) = 0; */ mccPR(&q)[(1-1) + mccM(&q)*(k-1)] = 0; /* end */ } /* end */ } } } /* if (preparation == 0 | preparation == 1 | preparation == 4 | preparation == 5 | preparation == 6 | preparation == 7 | preparation == 8 | preparation == 9 | preparation == 10) */ B1_ = ( (preparation == 0) && !mccREL_NAN(preparation) ); if (!(double)B1_) { B1_ = ( (preparation == 1) && !mccREL_NAN(preparation) ); } B0_ = (double)B1_; if (!(double)B0_) { B0_ = ( (preparation == 4) && !mccREL_NAN(preparation) ); } B3_ = (double)B0_; if (!(double)B3_) { B3_ = ( (preparation == 5) && !mccREL_NAN(preparation) ); } B4_ = (double)B3_; if (!(double)B4_) { B4_ = ( (preparation == 6) && !mccREL_NAN(preparation) ); } B5_ = (double)B4_; if (!(double)B5_) { B5_ = ( (preparation == 7) && !mccREL_NAN(preparation) ); } B6_ = (double)B5_; if (!(double)B6_) { B6_ = ( (preparation == 8) && !mccREL_NAN(preparation) ); } B2_ = (double)B6_; if (!(double)B2_) { B2_ = ( (preparation == 9) && !mccREL_NAN(preparation) ); } B7_ = (double)B2_; if (!(double)B7_) { B7_ = ( (preparation == 10) && !mccREL_NAN(preparation) ); } if ((double)B7_) { /* x = (P(1,k) > P(2,k)); */ x = ( ((mccPR(&P)[(k-1)*mccM(&P) + (1-1)]) > (mccPR(&P)[(k-1)*mccM(&P) + (2-1)])) && !mccREL_NAN((mccPR(&P)[(k-1)*mccM(&P) + (1-1)])) && !mccREL_NAN((mccPR(&P)[(k-1)*mccM(&P) + (2-1)])) ); /* mbintscalar(x); */ /* if (x) */ if ((double)x) { /* q(2,k) = (P(1,k)-P(2,k))/th(15); */ mccPR(&q)[(2-1) + mccM(&q)*(k-1)] = (((mccPR(&P)[(k-1)*mccM(&P) + (1-1)]) - (mccPR(&P)[(k-1)*mccM(&P) + (2-1)])) / (double) (mccPR(&th)[(15-1)])); } else { /* else */ /* q(2,k) = 0; */ mccPR(&q)[(2-1) + mccM(&q)*(k-1)] = 0; /* end */ } } else { /* elseif (preparation == 2) */ if (( (preparation == 2) && !mccREL_NAN(preparation) )) { /* x = (P(1,k) > th(33)); */ x = ( ((mccPR(&P)[(k-1)*mccM(&P) + (1-1)]) > (mccPR(&th)[(33-1)])) && !mccREL_NAN((mccPR(&P)[(k-1)*mccM(&P) + (1-1)])) && !mccREL_NAN((mccPR(&th)[(33-1)])) ); /* mbintscalar(x); */ /* if (x) */ if ((double)x) { /* q(2,k) = (P(1,k)-th(33))/th(15); */ mccPR(&q)[(2-1) + mccM(&q)*(k-1)] = (((mccPR(&P)[(k-1)*mccM(&P) + (1-1)]) - (mccPR(&th)[(33-1)])) / (double) (mccPR(&th)[(15-1)])); } else { /* else */ /* q(2,k) = 0; */ mccPR(&q)[(2-1) + mccM(&q)*(k-1)] = 0; /* end */ } } else { /* elseif (preparation == 3) */ if (( (preparation == 3) && !mccREL_NAN(preparation) )) { /* x = (P(1,k) > th(29)); */ x = ( ((mccPR(&P)[(k-1)*mccM(&P) + (1-1)]) > (mccPR(&th)[(29-1)])) && !mccREL_NAN((mccPR(&P)[(k-1)*mccM(&P) + (1-1)])) && !mccREL_NAN((mccPR(&th)[(29-1)])) ); /* mbintscalar(x); */ /* if (x) */ if ((double)x) { /* q(2,k) = (P(1,k)-th(29))/th(15); */ mccPR(&q)[(2-1) + mccM(&q)*(k-1)] = (((mccPR(&P)[(k-1)*mccM(&P) + (1-1)]) - (mccPR(&th)[(29-1)])) / (double) (mccPR(&th)[(15-1)])); } else { /* else */ /* q(2,k) = 0; */ mccPR(&q)[(2-1) + mccM(&q)*(k-1)] = 0; /* end */ } /* end */ } } } /* if (preparation == 0 | preparation == 2 | preparation == 4 | preparation == 5 | preparation == 7 | preparation == 9 | preparation == 10) */ B7_ = ( (preparation == 0) && !mccREL_NAN(preparation) ); if (!(double)B7_) { B7_ = ( (preparation == 2) && !mccREL_NAN(preparation) ); } B2_ = (double)B7_; if (!(double)B2_) { B2_ = ( (preparation == 4) && !mccREL_NAN(preparation) ); } B6_ = (double)B2_; if (!(double)B6_) { B6_ = ( (preparation == 5) && !mccREL_NAN(preparation) ); } B5_ = (double)B6_; if (!(double)B5_) { B5_ = ( (preparation == 7) && !mccREL_NAN(preparation) ); } B4_ = (double)B5_; if (!(double)B4_) { B4_ = ( (preparation == 9) && !mccREL_NAN(preparation) ); } B3_ = (double)B4_; if (!(double)B3_) { B3_ = ( (preparation == 10) && !mccREL_NAN(preparation) ); } if ((double)B3_) { /* q(3,k) = (P(2,k)-P(3,k))/th(16); */ mccPR(&q)[(3-1) + mccM(&q)*(k-1)] = (((mccPR(&P)[(k-1)*mccM(&P) + (2-1)]) - (mccPR(&P)[(k-1)*mccM(&P) + (3-1)])) / (double) (mccPR(&th)[(16-1)])); } else { /* elseif (preparation == 1 | preparation == 3) */ B3_ = ( (preparation == 1) && !mccREL_NAN(preparation) ); if (!(double)B3_) { B3_ = ( (preparation == 3) && !mccREL_NAN(preparation) ); } if ((double)B3_) { /* q(3,k) = 0; */ mccPR(&q)[(3-1) + mccM(&q)*(k-1)] = 0; } else { /* elseif (preparation == 6 | preparation == 8) */ B3_ = ( (preparation == 6) && !mccREL_NAN(preparation) ); if (!(double)B3_) { B3_ = ( (preparation == 8) && !mccREL_NAN(preparation) ); } if ((double)B3_) { /* q(3,k) = (P(10,k)-P(3,k))/th(16); */ mccPR(&q)[(3-1) + mccM(&q)*(k-1)] = (((mccPR(&P)[(k-1)*mccM(&P) + (10-1)]) - (mccPR(&P)[(k-1)*mccM(&P) + (3-1)])) / (double) (mccPR(&th)[(16-1)])); /* end */ } } } /* if (preparation ~= 10 & preparation ~= 5) */ B3_ = ( (preparation != 10) || mccREL_NAN(preparation) ); if ((double)B3_) { B3_ = ( (preparation != 5) || mccREL_NAN(preparation) ); } if ((double)B3_) { /* x = (P(3,k) > P(4,k) & P(4,k) >= th(91)); */ x = (!!( ((mccPR(&P)[(k-1)*mccM(&P) + (3-1)]) > (mccPR(&P)[(k-1)*mccM(&P) + (4-1)])) && !mccREL_NAN((mccPR(&P)[(k-1)*mccM(&P) + (3-1)])) && !mccREL_NAN((mccPR(&P)[(k-1)*mccM(&P) + (4-1)])) ) && !!( ((mccPR(&P)[(k-1)*mccM(&P) + (4-1)]) >= (mccPR(&th)[(91-1)])) && !mccREL_NAN((mccPR(&P)[(k-1)*mccM(&P) + (4-1)])) && !mccREL_NAN((mccPR(&th)[(91-1)])) )); /* y = (P(3,k) > th(91) & th(91) > P(4,k)); */ y = (!!( ((mccPR(&P)[(k-1)*mccM(&P) + (3-1)]) > (mccPR(&th)[(91-1)])) && !mccREL_NAN((mccPR(&P)[(k-1)*mccM(&P) + (3-1)])) && !mccREL_NAN((mccPR(&th)[(91-1)])) ) && !!( ((mccPR(&th)[(91-1)]) > (mccPR(&P)[(k-1)*mccM(&P) + (4-1)])) && !mccREL_NAN((mccPR(&th)[(91-1)])) && !mccREL_NAN((mccPR(&P)[(k-1)*mccM(&P) + (4-1)])) )); /* mbintscalar(x); */ /* mbintscalar(y); */ /* if (x) */ if ((double)x) { /* q(4,k) = (P(3,k)-P(4,k))/th(17); */ mccPR(&q)[(4-1) + mccM(&q)*(k-1)] = (((mccPR(&P)[(k-1)*mccM(&P) + (3-1)]) - (mccPR(&P)[(k-1)*mccM(&P) + (4-1)])) / (double) (mccPR(&th)[(17-1)])); } else { /* elseif (y) */ if ((double)y) { /* q(4,k) = (P(3,k)-th(91))/th(17); */ mccPR(&q)[(4-1) + mccM(&q)*(k-1)] = (((mccPR(&P)[(k-1)*mccM(&P) + (3-1)]) - (mccPR(&th)[(91-1)])) / (double) (mccPR(&th)[(17-1)])); } else { /* else */ /* q(4,k) = 0; */ mccPR(&q)[(4-1) + mccM(&q)*(k-1)] = 0; /* end */ } } } else { /* elseif (preparation == 5) */ if (( (preparation == 5) && !mccREL_NAN(preparation) )) { /* x = (P(3,k) >= P(4,k)); */ x = ( ((mccPR(&P)[(k-1)*mccM(&P) + (3-1)]) >= (mccPR(&P)[(k-1)*mccM(&P) + (4-1)])) && !mccREL_NAN((mccPR(&P)[(k-1)*mccM(&P) + (3-1)])) && !mccREL_NAN((mccPR(&P)[(k-1)*mccM(&P) + (4-1)])) ); /* mbintscalar(x); */ /* if (x) */ if ((double)x) { /* q(4,k) = (P(3,k)-P(4,k))/th(17); */ mccPR(&q)[(4-1) + mccM(&q)*(k-1)] = (((mccPR(&P)[(k-1)*mccM(&P) + (3-1)]) - (mccPR(&P)[(k-1)*mccM(&P) + (4-1)])) / (double) (mccPR(&th)[(17-1)])); } else { /* else */ /* q(4,k) = 0; */ mccPR(&q)[(4-1) + mccM(&q)*(k-1)] = 0; /* end */ } } else { /* else */ /* x = (P(9,k) >= P(4,k)); */ x = ( ((mccPR(&P)[(k-1)*mccM(&P) + (9-1)]) >= (mccPR(&P)[(k-1)*mccM(&P) + (4-1)])) && !mccREL_NAN((mccPR(&P)[(k-1)*mccM(&P) + (9-1)])) && !mccREL_NAN((mccPR(&P)[(k-1)*mccM(&P) + (4-1)])) ); /* mbintscalar(x); */ /* if (x) */ if ((double)x) { /* q(4,k) = (P(9,k)-P(4,k))/th(87); */ mccPR(&q)[(4-1) + mccM(&q)*(k-1)] = (((mccPR(&P)[(k-1)*mccM(&P) + (9-1)]) - (mccPR(&P)[(k-1)*mccM(&P) + (4-1)])) / (double) (mccPR(&th)[(87-1)])); } else { /* else */ /* q(4,k) = 0; */ mccPR(&q)[(4-1) + mccM(&q)*(k-1)] = 0; /* end */ } /* end */ } } /* if (preparation ~= 2) */ if (( (preparation != 2) || mccREL_NAN(preparation) )) { /* x = (P(4,k) > P(5,k)); */ x = ( ((mccPR(&P)[(k-1)*mccM(&P) + (4-1)]) > (mccPR(&P)[(k-1)*mccM(&P) + (5-1)])) && !mccREL_NAN((mccPR(&P)[(k-1)*mccM(&P) + (4-1)])) && !mccREL_NAN((mccPR(&P)[(k-1)*mccM(&P) + (5-1)])) ); /* mbintscalar(x); */ /* if (x) */ if ((double)x) { /* q(5,k) = (P(4,k)-P(5,k))/th(18); */ mccPR(&q)[(5-1) + mccM(&q)*(k-1)] = (((mccPR(&P)[(k-1)*mccM(&P) + (4-1)]) - (mccPR(&P)[(k-1)*mccM(&P) + (5-1)])) / (double) (mccPR(&th)[(18-1)])); } else { /* else */ /* q(5,k) = 0; */ mccPR(&q)[(5-1) + mccM(&q)*(k-1)] = 0; /* end */ } } else { /* elseif (preparation == 2) */ if (( (preparation == 2) && !mccREL_NAN(preparation) )) { /* x = (P(4,k) > th(28)); */ x = ( ((mccPR(&P)[(k-1)*mccM(&P) + (4-1)]) > (mccPR(&th)[(28-1)])) && !mccREL_NAN((mccPR(&P)[(k-1)*mccM(&P) + (4-1)])) && !mccREL_NAN((mccPR(&th)[(28-1)])) ); /* mbintscalar(x); */ /* if (x) */ if ((double)x) { /* q(5,k) = (P(4,k)-th(28))/th(18); */ mccPR(&q)[(5-1) + mccM(&q)*(k-1)] = (((mccPR(&P)[(k-1)*mccM(&P) + (4-1)]) - (mccPR(&th)[(28-1)])) / (double) (mccPR(&th)[(18-1)])); } else { /* else */ /* q(5,k) = 0; */ mccPR(&q)[(5-1) + mccM(&q)*(k-1)] = 0; /* end */ } /* end */ } } /* if (preparation == 2 | preparation == 5) */ B3_ = ( (preparation == 2) && !mccREL_NAN(preparation) ); if (!(double)B3_) { B3_ = ( (preparation == 5) && !mccREL_NAN(preparation) ); } if ((double)B3_) { /* q(6,k) = (P(5,k)-P(6,k))/th(19); */ mccPR(&q)[(6-1) + mccM(&q)*(k-1)] = (((mccPR(&P)[(k-1)*mccM(&P) + (5-1)]) - (mccPR(&P)[(k-1)*mccM(&P) + (6-1)])) / (double) (mccPR(&th)[(19-1)])); } else { /* elseif (preparation == 0 | preparation == 1 | preparation == 4 | preparation == 6 |preparation == 7 | preparation == 8 | preparation == 9 | preparation == 10) */ B3_ = ( (preparation == 0) && !mccREL_NAN(preparation) ); if (!(double)B3_) { B3_ = ( (preparation == 1) && !mccREL_NAN(preparation) ); } B4_ = (double)B3_; if (!(double)B4_) { B4_ = ( (preparation == 4) && !mccREL_NAN(preparation) ); } B5_ = (double)B4_; if (!(double)B5_) { B5_ = ( (preparation == 6) && !mccREL_NAN(preparation) ); } B6_ = (double)B5_; if (!(double)B6_) { B6_ = ( (preparation == 7) && !mccREL_NAN(preparation) ); } B2_ = (double)B6_; if (!(double)B2_) { B2_ = ( (preparation == 8) && !mccREL_NAN(preparation) ); } B7_ = (double)B2_; if (!(double)B7_) { B7_ = ( (preparation == 9) && !mccREL_NAN(preparation) ); } B0_ = (double)B7_; if (!(double)B0_) { B0_ = ( (preparation == 10) && !mccREL_NAN(preparation) ); } if ((double)B0_) { /* h1 = (1330/(1.06*980))*(P(6,k)-P(8,k)); */ h1 = ((1330 / (double) (1.06 * (double) 980)) * (double) ((mccPR(&P)[(k-1)*mccM(&P) + (6-1)]) - (mccPR(&P)[(k-1)*mccM(&P) + (8-1)]))); /* x = h1 < -10; */ x = ( (h1 < -10) && !mccREL_NAN(h1) ); /* mbintscalar(x); */ /* y = h1 > 20; */ y = ( (h1 > 20) && !mccREL_NAN(h1) ); /* mbintscalar(y); */ /* if (x) */ if ((double)x) { /* h1 = -10; */ h1 = -10; } else { /* elseif (y) */ if ((double)y) { /* h1 = 20; */ h1 = 20; /* end */ } } /* h2 = (1330/(1.06*980))*(P(5,k)-P(8,k)); */ h2 = ((1330 / (double) (1.06 * (double) 980)) * (double) ((mccPR(&P)[(k-1)*mccM(&P) + (5-1)]) - (mccPR(&P)[(k-1)*mccM(&P) + (8-1)]))); /* x = h2 < -10; */ x = ( (h2 < -10) && !mccREL_NAN(h2) ); /* mbintscalar(x); */ /* y = h2 > 20; */ y = ( (h2 > 20) && !mccREL_NAN(h2) ); /* mbintscalar(y); */ /* if (x) */ if ((double)x) { /* h2 = -10; */ h2 = -10; } else { /* elseif (y) */ if ((double)y) { /* h2 = 20; */ h2 = 20; /* end */ } } /* q(6,k) = (((P(5,k)-P(6,k))/(30*th(19)))*(h1+10)) + (((P(5,k)-P(8,k))/(30*th(19)))*(h2-h1)) - (((1.06*980)/(2660*(30*th(19))))*(h2^2-h1^2)); */ mccPR(&q)[(6-1) + mccM(&q)*(k-1)] = ((((((mccPR(&P)[(k-1)*mccM(&P) + (5-1)]) - (mccPR(&P)[(k-1)*mccM(&P) + (6-1)])) / (double) (30 * (double) (mccPR(&th)[(19-1)]))) * (double) (h1 + 10)) + ((((mccPR(&P)[(k-1)*mccM(&P) + (5-1)]) - (mccPR(&P)[(k-1)*mccM(&P) + (8-1)])) / (double) (30 * (double) (mccPR(&th)[(19-1)]))) * (double) (h2 - h1))) - (((1.06 * (double) 980) / (double) (2660 * (double) (30 * (double) (mccPR(&th)[(19-1)])))) * (double) (mcmRealPowerInt(h2, 2) - mcmRealPowerInt(h1, 2)))); } else { /* elseif (preparation == 3) */ if (( (preparation == 3) && !mccREL_NAN(preparation) )) { /* q(6,k) = 0; */ mccPR(&q)[(6-1) + mccM(&q)*(k-1)] = 0; /* end */ } } } /* if (preparation == 10) */ if (( (preparation == 10) && !mccREL_NAN(preparation) )) { /* x = (P(3,k) >= th(91) & P(9,k) >= th(91)); */ x = (!!( ((mccPR(&P)[(k-1)*mccM(&P) + (3-1)]) >= (mccPR(&th)[(91-1)])) && !mccREL_NAN((mccPR(&P)[(k-1)*mccM(&P) + (3-1)])) && !mccREL_NAN((mccPR(&th)[(91-1)])) ) && !!( ((mccPR(&P)[(k-1)*mccM(&P) + (9-1)]) >= (mccPR(&th)[(91-1)])) && !mccREL_NAN((mccPR(&P)[(k-1)*mccM(&P) + (9-1)])) && !mccREL_NAN((mccPR(&th)[(91-1)])) )); /* y = (P(3,k) > th(91) & th(91) > P(9,k)); */ y = (!!( ((mccPR(&P)[(k-1)*mccM(&P) + (3-1)]) > (mccPR(&th)[(91-1)])) && !mccREL_NAN((mccPR(&P)[(k-1)*mccM(&P) + (3-1)])) && !mccREL_NAN((mccPR(&th)[(91-1)])) ) && !!( ((mccPR(&th)[(91-1)]) > (mccPR(&P)[(k-1)*mccM(&P) + (9-1)])) && !mccREL_NAN((mccPR(&th)[(91-1)])) && !mccREL_NAN((mccPR(&P)[(k-1)*mccM(&P) + (9-1)])) )); /* z = (P(9,k) > th(91) & th(91) > P(3,k)); */ z = (!!( ((mccPR(&P)[(k-1)*mccM(&P) + (9-1)]) > (mccPR(&th)[(91-1)])) && !mccREL_NAN((mccPR(&P)[(k-1)*mccM(&P) + (9-1)])) && !mccREL_NAN((mccPR(&th)[(91-1)])) ) && !!( ((mccPR(&th)[(91-1)]) > (mccPR(&P)[(k-1)*mccM(&P) + (3-1)])) && !mccREL_NAN((mccPR(&th)[(91-1)])) && !mccREL_NAN((mccPR(&P)[(k-1)*mccM(&P) + (3-1)])) )); /* mbintscalar(x); */ /* mbintscalar(y); */ /* mbintscalar(z); */ /* if (x) */ if ((double)x) { /* q(7,k) = (P(3,k)-P(9,k))/th(17); */ mccPR(&q)[(7-1) + mccM(&q)*(k-1)] = (((mccPR(&P)[(k-1)*mccM(&P) + (3-1)]) - (mccPR(&P)[(k-1)*mccM(&P) + (9-1)])) / (double) (mccPR(&th)[(17-1)])); } else { /* elseif (y) */ if ((double)y) { /* q(7,k) = (P(3,k)-th(91))/th(17); */ mccPR(&q)[(7-1) + mccM(&q)*(k-1)] = (((mccPR(&P)[(k-1)*mccM(&P) + (3-1)]) - (mccPR(&th)[(91-1)])) / (double) (mccPR(&th)[(17-1)])); } else { /* elseif (z) */ if ((double)z) { /* q(7,k) = (th(91)-P(9,k))/th(17); */ mccPR(&q)[(7-1) + mccM(&q)*(k-1)] = (((mccPR(&th)[(91-1)]) - (mccPR(&P)[(k-1)*mccM(&P) + (9-1)])) / (double) (mccPR(&th)[(17-1)])); } else { /* else */ /* q(7,k) = 0; */ mccPR(&q)[(7-1) + mccM(&q)*(k-1)] = 0; /* end */ } } } } else { /* elseif (preparation == 6 | preparation == 8) */ B0_ = ( (preparation == 6) && !mccREL_NAN(preparation) ); if (!(double)B0_) { B0_ = ( (preparation == 8) && !mccREL_NAN(preparation) ); } if ((double)B0_) { /* q(7,k) = P(11,k); */ mccPR(&q)[(7-1) + mccM(&q)*(k-1)] = (mccPR(&P)[(k-1)*mccM(&P) + (11-1)]); /* end */ } } /* if (preparation == 10) */ if (( (preparation == 10) && !mccREL_NAN(preparation) )) { /* q(8,k) = (P(6,k)-P(11,k))/th(20); */ mccPR(&q)[(8-1) + mccM(&q)*(k-1)] = (((mccPR(&P)[(k-1)*mccM(&P) + (6-1)]) - (mccPR(&P)[(k-1)*mccM(&P) + (11-1)])) / (double) (mccPR(&th)[(20-1)])); /* end */ } /* % Writing waveforms and annotations to files in MIT format every step parameter */ /* % seconds once a window parameter duration of data have been calculated. */ /* if (strcmp(signals,'-1') == 0 & t(k) > th(104) & (t(k)-t(kstart)) > th(78)) */ B0_ = (mccStrcmp(&signals, &S246_) == 0); if ((double)B0_) { B0_ = ( ((mccPR(&t)[(k-1)]) > (mccPR(&th)[(104-1)])) && !mccREL_NAN((mccPR(&t)[(k-1)])) && !mccREL_NAN((mccPR(&th)[(104-1)])) ); } B7_ = (double)B0_; if ((double)B7_) { B7_ = ( (((mccPR(&t)[(k-1)]) - (mccPR(&t)[(kstart-1)])) > (mccPR(&th)[(78-1)])) && !mccREL_NAN(((mccPR(&t)[(k-1)]) - (mccPR(&t)[(kstart-1)]))) && !mccREL_NAN((mccPR(&th)[(78-1)])) ); } if ((double)B7_) { /* % Writing newly generated waveform data to MIT format files. */ /* X = [P(1:9,kstart:k); Q(1:6,kstart:k); Q(7,kstart:k)*0.1; q(1:6,kstart:k); ap(1:2,kstart:k)*100; ap(3,kstart:k); ap(4,kstart:k)*100; ap(5,kstart:k)*600; ve(1:2,kstart:k)*10]*10; */ { int i_, j_; int m_=1, n_=1, cx_ = 0; double *p_RM0_; int I_RM0_=1; double *p_P; int I_P=1, J_P; m_ = mcmCalcResultSize(m_, &n_, ((int)(9 - 1) + 1), ((int)(k - kstart) + 1)); mccAllocateMatrix(&RM0_, m_, n_); I_RM0_ = (mccM(&RM0_) != 1 || mccN(&RM0_) != 1); p_RM0_ = mccPR(&RM0_); if (mccM(&P) == 1 && mccN(&P) == 1) { I_P = J_P = 0;} else { I_P = 1; J_P=mccM(&P)-m_; } p_P = mccPR(&P) + ((int)(1 - .5)) + mccM(&P) * ((int)(kstart - .5)); if (m_ != 0) { for (j_=0; j_= length(num')) */ mccConjTrans(&RM15_, &num); I1_ = mccGetLength(&RM15_); B7_ = (countn >= I1_); if ((double)B7_) { /* tics = k; */ tics = k; /* break; */ break; /* end */ } /* end */ } /* end */ } /* % Writing remaining portion of simulated data to the MIT format files. */ /* if (strcmp(signals,'-1') == 0) */ if ((mccStrcmp(&signals, &S254_) == 0)) { /* % Writing last portion of generated waveform data. */ /* X = [P(1:9,kstart:tics); Q(1:6,kstart:tics); Q(7,kstart:tics)*0.1; q(1:6,kstart:tics); ap(1:2,kstart:tics)*100; ap(3,kstart:tics); ap(4,kstart:tics)*100; ap(5,kstart:tics)*600; ve(1:2,kstart:tics)*10]*10; */ { int i_, j_; int m_=1, n_=1, cx_ = 0; double *p_RM15_; int I_RM15_=1; double *p_P; int I_P=1, J_P; m_ = mcmCalcResultSize(m_, &n_, ((int)(9 - 1) + 1), ((int)(tics - kstart) + 1)); mccAllocateMatrix(&RM15_, m_, n_); I_RM15_ = (mccM(&RM15_) != 1 || mccN(&RM15_) != 1); p_RM15_ = mccPR(&RM15_); if (mccM(&P) == 1 && mccN(&P) == 1) { I_P = J_P = 0;} else { I_P = 1; J_P=mccM(&P)-m_; } p_P = mccPR(&P) + ((int)(1 - .5)) + mccM(&P) * ((int)(kstart - .5)); if (m_ != 0) { for (j_=0; j_ * Td real scalar * Ts real scalar * atan * b real vector/matrix * intact_init_cond_ * pi * q real vector/matrix * realsqrt * temp real scalar * th real vector/matrix * ve real vector/matrix * vent_vol * x real vector/matrix * xl real scalar * xr real scalar * yl real scalar * yr real scalar * zeros *******************************************************/ static void intact_init_cond_(mxArray *P_PP_, mxArray *Q_PP_, mxArray *q_PP_, mxArray *ve_PP_, mxArray *th_P_ ) { mxArray th; mxArray P; mxArray Q; mxArray q; mxArray ve; double Cld = 0.0; double Crd = 0.0; double Ts = 0.0; double Td = 0.0; double temp = 0.0; mxArray b; mxArray A; mxArray x; double yl = 0.0; double xl = 0.0; double yr = 0.0; double xr = 0.0; double R0_ = 0.0; mxArray RM0_; mxArray RM1_; mxArray RM2_; mxArray RM3_; mxArray RM4_; mxArray RM5_; mxArray RM6_; mxArray RM7_; mxArray RM8_; mxArray RM9_; mxArray RM10_; mxArray RM11_; mxArray RM12_; mxArray RM13_; mxArray RM14_; mxArray RM15_; mxArray RM16_; mxArray RM17_; mxArray RM18_; mxArray RM19_; mxArray RM20_; mxArray RM21_; mxArray RM22_; mxArray RM23_; mxArray RM24_; mxArray RM25_; mxArray RM26_; mxArray RM27_; mxArray RM28_; mxArray RM29_; mxArray RM30_; mxArray RM31_; mxArray RM32_; mxArray RM33_; mxArray RM34_; mxArray RM35_; mxArray RM36_; mxArray RM37_; mxArray RM38_; mxArray RM39_; mxArray RM40_; mxArray RM41_; mxArray RM42_; mxArray RM43_; mxArray RM44_; mxArray RM45_; mxArray RM46_; mxArray RM47_; mxArray RM48_; mxArray RM49_; mxArray RM50_; mxArray RM51_; mxArray RM52_; mxArray RM53_; mxArray RM54_; mxArray RM55_; mxArray RM56_; mxArray RM57_; mxArray RM58_; mxArray RM59_; mxArray RM60_; mxArray RM61_; mxArray IM0_; double R1_ = 0.0; double R2_ = 0.0; mccRealInit(th); mccCopy(&th, th_P_); mccRealInit(P); mccRealInit(Q); mccRealInit(q); mccRealInit(ve); mccRealInit(b); mccRealInit(A); mccRealInit(x); mccRealInit(RM0_); mccRealInit(RM1_); mccRealInit(RM2_); mccRealInit(RM3_); mccRealInit(RM4_); mccRealInit(RM5_); mccRealInit(RM6_); mccRealInit(RM7_); mccRealInit(RM8_); mccRealInit(RM9_); mccRealInit(RM10_); mccRealInit(RM11_); mccRealInit(RM12_); mccRealInit(RM13_); mccRealInit(RM14_); mccRealInit(RM15_); mccRealInit(RM16_); mccRealInit(RM17_); mccRealInit(RM18_); mccRealInit(RM19_); mccRealInit(RM20_); mccRealInit(RM21_); mccRealInit(RM22_); mccRealInit(RM23_); mccRealInit(RM24_); mccRealInit(RM25_); mccRealInit(RM26_); mccRealInit(RM27_); mccRealInit(RM28_); mccRealInit(RM29_); mccRealInit(RM30_); mccRealInit(RM31_); mccRealInit(RM32_); mccRealInit(RM33_); mccRealInit(RM34_); mccRealInit(RM35_); mccRealInit(RM36_); mccRealInit(RM37_); mccRealInit(RM38_); mccRealInit(RM39_); mccRealInit(RM40_); mccRealInit(RM41_); mccRealInit(RM42_); mccRealInit(RM43_); mccRealInit(RM44_); mccRealInit(RM45_); mccRealInit(RM46_); mccRealInit(RM47_); mccRealInit(RM48_); mccRealInit(RM49_); mccRealInit(RM50_); mccRealInit(RM51_); mccRealInit(RM52_); mccRealInit(RM53_); mccRealInit(RM54_); mccRealInit(RM55_); mccRealInit(RM56_); mccRealInit(RM57_); mccRealInit(RM58_); mccRealInit(RM59_); mccRealInit(RM60_); mccRealInit(RM61_); mccIntInit(IM0_); /* % Storing nonlinear ventricular compliance values for */ /* % subsequent initial ventricular volume calculation. */ /* Cld = th(2); */ Cld = (mccPR(&th)[(2-1)]); /* Crd = th(6); */ Crd = (mccPR(&th)[(6-1)]); /* % Converting ventricular compliances to linear values which */ /* % is necessary for estimating initial pressures. */ /* th(1) = th(1)*((th(26)-th(9))/th(31)); */ mccPR(&th)[(1-1)] = ((mccPR(&th)[(1-1)]) * (double) (((mccPR(&th)[(26-1)]) - (mccPR(&th)[(9-1)])) / (double) (mccPR(&th)[(31-1)]))); /* th(2) = th(2)*((th(26)-th(9))/th(31)); */ mccPR(&th)[(2-1)] = ((mccPR(&th)[(2-1)]) * (double) (((mccPR(&th)[(26-1)]) - (mccPR(&th)[(9-1)])) / (double) (mccPR(&th)[(31-1)]))); /* th(5) = th(5)*((th(27)-th(12))/th(32)); */ mccPR(&th)[(5-1)] = ((mccPR(&th)[(5-1)]) * (double) (((mccPR(&th)[(27-1)]) - (mccPR(&th)[(12-1)])) / (double) (mccPR(&th)[(32-1)]))); /* th(6) = th(6)*((th(27)-th(12))/th(32)); */ mccPR(&th)[(6-1)] = ((mccPR(&th)[(6-1)]) * (double) (((mccPR(&th)[(27-1)]) - (mccPR(&th)[(12-1)])) / (double) (mccPR(&th)[(32-1)]))); /* % Estimating initial pressures. */ /* Ts = .3*sqrt(1/th(22)); */ R0_ = sqrt((1 / (double) (mccPR(&th)[(22-1)]))); Ts = (.3 * (double) R0_); /* Td = 1/th(22) - Ts; */ Td = ((1 / (double) (mccPR(&th)[(22-1)])) - Ts); /* temp = -th(2)*th(23) + th(1)*th(23); */ temp = (((-(mccPR(&th)[(2-1)])) * (double) (mccPR(&th)[(23-1)])) + ((mccPR(&th)[(1-1)]) * (double) (mccPR(&th)[(23-1)]))); /* b = [temp+th(6)*th(23)-th(5)*th(23); */ mccCatenateRows(&RM0_, mccTempMatrix(((temp + ((mccPR(&th)[(6-1)]) * (double) (mccPR(&th)[(23-1)]))) - ((mccPR(&th)[(5-1)]) * (double) (mccPR(&th)[(23-1)]))), 0., mccREAL, 0 ), mccTempMatrix(temp, 0., mccREAL, 0 )); mccCatenateRows(&RM1_, &RM0_, mccTempMatrix(temp, 0., mccREAL, 0 )); mccCatenateRows(&RM2_, &RM1_, mccTempMatrix(temp, 0., mccREAL, 0 )); mccCatenateRows(&RM3_, &RM2_, mccTempMatrix(temp, 0., mccREAL, 0 )); mccCatenateRows(&RM4_, &RM3_, mccTempMatrix(temp, 0., mccREAL, 0 )); mccCatenateRows(&RM5_, &RM4_, mccTempMatrix(temp, 0., mccREAL, 0 )); mccCatenateRows(&b, &RM5_, mccTempMatrix(((((((mccPR(&th)[(21-1)]) - ((((((mccPR(&th)[(14-1)]) + (mccPR(&th)[(13-1)])) + (mccPR(&th)[(12-1)])) + (mccPR(&th)[(11-1)])) + (mccPR(&th)[(10-1)])) + (mccPR(&th)[(9-1)]))) + ((mccPR(&th)[(2-1)]) * (double) (mccPR(&th)[(23-1)]))) + ((mccPR(&th)[(6-1)]) * (double) (mccPR(&th)[(23-1)]))) + ((mccPR(&th)[(7-1)]) * (double) (mccPR(&th)[(23-1)]))) + ((mccPR(&th)[(8-1)]) * (double) (mccPR(&th)[(23-1)]))), 0., mccREAL, 0 )); /* A = [th(1), -th(2), 0, 0, -th(5), th(6), 0, 0; */ mccCatenateColumns(&RM5_, mccTempVectorElement(&th, 1), mccTempMatrix((-(mccPR(&th)[(2-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM4_, &RM5_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM3_, &RM4_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM2_, &RM3_, mccTempMatrix((-(mccPR(&th)[(5-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM1_, &RM2_, mccTempVectorElement(&th, 6)); mccCatenateColumns(&RM0_, &RM1_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM6_, &RM0_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM7_, mccTempMatrix(((mccPR(&th)[(1-1)]) + (Ts / (double) (mccPR(&th)[(15-1)]))), 0., mccREAL, 0 ), mccTempMatrix((-(mccPR(&th)[(2-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM8_, &RM7_, mccTempMatrix(((-Ts) / (double) (mccPR(&th)[(15-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM9_, &RM8_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM10_, &RM9_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM11_, &RM10_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM12_, &RM11_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM13_, &RM12_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateRows(&RM14_, &RM6_, &RM13_); mccCatenateColumns(&RM15_, mccTempVectorElement(&th, 1), mccTempMatrix((-(mccPR(&th)[(2-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM16_, &RM15_, mccTempMatrix((1 / (double) ((mccPR(&th)[(22-1)]) * (double) (mccPR(&th)[(16-1)]))), 0., mccREAL, 0 )); mccCatenateColumns(&RM17_, &RM16_, mccTempMatrix(( -1 / (double) ((mccPR(&th)[(22-1)]) * (double) (mccPR(&th)[(16-1)]))), 0., mccREAL, 0 )); mccCatenateColumns(&RM18_, &RM17_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM19_, &RM18_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM20_, &RM19_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM21_, &RM20_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateRows(&RM22_, &RM14_, &RM21_); mccCatenateColumns(&RM23_, mccTempVectorElement(&th, 1), mccTempMatrix((-(mccPR(&th)[(2-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM24_, &RM23_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM25_, &RM24_, mccTempMatrix((Td / (double) (mccPR(&th)[(17-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM26_, &RM25_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM27_, &RM26_, mccTempMatrix(((-Td) / (double) (mccPR(&th)[(17-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM28_, &RM27_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM29_, &RM28_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateRows(&RM30_, &RM22_, &RM29_); mccCatenateColumns(&RM31_, mccTempVectorElement(&th, 1), mccTempMatrix((-(mccPR(&th)[(2-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM32_, &RM31_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM33_, &RM32_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM34_, &RM33_, mccTempMatrix((Ts / (double) (mccPR(&th)[(18-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM35_, &RM34_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM36_, &RM35_, mccTempMatrix(((-Ts) / (double) (mccPR(&th)[(18-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM37_, &RM36_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateRows(&RM38_, &RM30_, &RM37_); mccCatenateColumns(&RM39_, mccTempVectorElement(&th, 1), mccTempMatrix((-(mccPR(&th)[(2-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM40_, &RM39_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM41_, &RM40_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM42_, &RM41_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM43_, &RM42_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM44_, &RM43_, mccTempMatrix((1 / (double) ((mccPR(&th)[(22-1)]) * (double) (mccPR(&th)[(19-1)]))), 0., mccREAL, 0 )); mccCatenateColumns(&RM45_, &RM44_, mccTempMatrix(( -1 / (double) ((mccPR(&th)[(22-1)]) * (double) (mccPR(&th)[(19-1)]))), 0., mccREAL, 0 )); mccCatenateRows(&RM46_, &RM38_, &RM45_); mccCatenateColumns(&RM47_, mccTempVectorElement(&th, 1), mccTempMatrix((-((mccPR(&th)[(2-1)]) + (Td / (double) (mccPR(&th)[(20-1)])))), 0., mccREAL, 0 )); mccCatenateColumns(&RM48_, &RM47_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM49_, &RM48_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM50_, &RM49_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM51_, &RM50_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM52_, &RM51_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM53_, &RM52_, mccTempMatrix((Td / (double) (mccPR(&th)[(20-1)])), 0., mccREAL, 0 )); mccCatenateRows(&RM54_, &RM46_, &RM53_); mccCatenateColumns(&RM55_, mccTempMatrix(0, 0., mccINT, 0 ), mccTempVectorElement(&th, 2)); mccCatenateColumns(&RM56_, &RM55_, mccTempVectorElement(&th, 3)); mccCatenateColumns(&RM57_, &RM56_, mccTempVectorElement(&th, 4)); mccCatenateColumns(&RM58_, &RM57_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM59_, &RM58_, mccTempVectorElement(&th, 6)); mccCatenateColumns(&RM60_, &RM59_, mccTempVectorElement(&th, 7)); mccCatenateColumns(&RM61_, &RM60_, mccTempVectorElement(&th, 8)); mccCatenateRows(&A, &RM54_, &RM61_); /* x = A\b; */ mccRealLeftDivide(&x, &A, &b); /* P = [x(2:4)' x(6:8)']'; */ { int i_, j_; int m_=1, n_=1, cx_ = 0; double *p_RM61_; int I_RM61_=1; double *p_x; int I_x=1; m_ = mccCalcSubscriptDimensions(m_, &n_, 1, ((int)(4 - 2) + 1), &x); mccAllocateMatrix(&RM61_, m_, n_); I_RM61_ = (mccM(&RM61_) != 1 || mccN(&RM61_) != 1); p_RM61_ = mccPR(&RM61_); I_x = (mccM(&x) != 1 || mccN(&x) != 1); p_x = mccPR(&x) + ((int)(2 - .5)); if (m_ != 0) { for (j_=0; j_ P(1)) */ if (( ((mccPR(&P)[(6-1)]) > (mccPR(&P)[(1-1)])) && !mccREL_NAN((mccPR(&P)[(6-1)])) && !mccREL_NAN((mccPR(&P)[(1-1)])) )) { /* q(1) = (P(6)-P(1))/th(20); */ mccPR(&q)[(1-1)] = (((mccPR(&P)[(6-1)]) - (mccPR(&P)[(1-1)])) / (double) (mccPR(&th)[(20-1)])); } else { /* else */ /* q(1) = 0; */ mccPR(&q)[(1-1)] = 0; /* end */ } /* if (P(1) > P(2)) */ if (( ((mccPR(&P)[(1-1)]) > (mccPR(&P)[(2-1)])) && !mccREL_NAN((mccPR(&P)[(1-1)])) && !mccREL_NAN((mccPR(&P)[(2-1)])) )) { /* q(2) = (P(1)-P(2))/th(15); */ mccPR(&q)[(2-1)] = (((mccPR(&P)[(1-1)]) - (mccPR(&P)[(2-1)])) / (double) (mccPR(&th)[(15-1)])); } else { /* else */ /* q(2) = 0; */ mccPR(&q)[(2-1)] = 0; /* end */ } /* q(3) = (P(2)-P(3))/th(16); */ mccPR(&q)[(3-1)] = (((mccPR(&P)[(2-1)]) - (mccPR(&P)[(3-1)])) / (double) (mccPR(&th)[(16-1)])); /* if (P(3) > P(4)) */ if (( ((mccPR(&P)[(3-1)]) > (mccPR(&P)[(4-1)])) && !mccREL_NAN((mccPR(&P)[(3-1)])) && !mccREL_NAN((mccPR(&P)[(4-1)])) )) { /* q(4) = (P(3)-P(4))/th(17); */ mccPR(&q)[(4-1)] = (((mccPR(&P)[(3-1)]) - (mccPR(&P)[(4-1)])) / (double) (mccPR(&th)[(17-1)])); } else { /* else */ /* q(4) = 0; */ mccPR(&q)[(4-1)] = 0; /* end */ } /* if (P(4) > P(5)) */ if (( ((mccPR(&P)[(4-1)]) > (mccPR(&P)[(5-1)])) && !mccREL_NAN((mccPR(&P)[(4-1)])) && !mccREL_NAN((mccPR(&P)[(5-1)])) )) { /* q(5) = (P(4)-P(5))/th(18); */ mccPR(&q)[(5-1)] = (((mccPR(&P)[(4-1)]) - (mccPR(&P)[(5-1)])) / (double) (mccPR(&th)[(18-1)])); } else { /* else */ /* q(5) = 0; */ mccPR(&q)[(5-1)] = 0; /* end */ } /* q(6) = (P(5)-P(6))/th(19); */ mccPR(&q)[(6-1)] = (((mccPR(&P)[(5-1)]) - (mccPR(&P)[(6-1)])) / (double) (mccPR(&th)[(19-1)])); /* % Establishing initial variable ventricular elastance values. */ /* ve = [1/th(2) 1/th(6)]'; */ mccCatenateColumns(&RM57_, mccTempMatrix((1 / (double) (mccPR(&th)[(2-1)])), 0., mccREAL, 0 ), mccTempMatrix((1 / (double) (mccPR(&th)[(6-1)])), 0., mccREAL, 0 )); mccConjTrans(&ve, &RM57_); /* % Establishing initial volumes. */ /* Q = [th(2) th(3) th(4) th(6) th(7) th(8)]'.*(P(1:6)-th(23)*[1 0 0 1 1 1]') + [th(9:14)]; */ mccCatenateColumns(&RM57_, mccTempVectorElement(&th, 2), mccTempVectorElement(&th, 3)); mccCatenateColumns(&RM58_, &RM57_, mccTempVectorElement(&th, 4)); mccCatenateColumns(&RM59_, &RM58_, mccTempVectorElement(&th, 6)); mccCatenateColumns(&RM60_, &RM59_, mccTempVectorElement(&th, 7)); mccCatenateColumns(&RM61_, &RM60_, mccTempVectorElement(&th, 8)); mccConjTrans(&RM56_, &RM61_); R0_ = (mccPR(&th)[(23-1)]); mccConjTrans(&IM0_, &S264_); { int i_, j_; int m_=1, n_=1, cx_ = 0; double *p_Q; int I_Q=1; double *p_RM56_; int I_RM56_=1; double *p_P; int I_P=1; int *p_IM0_; int I_IM0_=1; double *p_th; int I_th=1; m_ = mcmCalcResultSize(m_, &n_, mccM(&RM56_), mccN(&RM56_)); m_ = mccCalcSubscriptDimensions(m_, &n_, 1, ((int)(6 - 1) + 1), &P); m_ = mcmCalcResultSize(m_, &n_, mccM(&IM0_), mccN(&IM0_)); m_ = mccCalcSubscriptDimensions(m_, &n_, 1, ((int)(14 - 9) + 1), &th); mccAllocateMatrix(&Q, m_, n_); I_Q = (mccM(&Q) != 1 || mccN(&Q) != 1); p_Q = mccPR(&Q); I_RM56_ = (mccM(&RM56_) != 1 || mccN(&RM56_) != 1); p_RM56_ = mccPR(&RM56_); I_P = (mccM(&P) != 1 || mccN(&P) != 1); p_P = mccPR(&P) + ((int)(1 - .5)); I_IM0_ = (mccM(&IM0_) != 1 || mccN(&IM0_) != 1); p_IM0_ = mccIPR(&IM0_); I_th = (mccM(&th) != 1 || mccN(&th) != 1); p_th = mccPR(&th) + ((int)(9 - .5)); if (m_ != 0) { for (j_=0; j_ * Td real scalar * Ts real scalar * atan * b real vector/matrix * hlu_init_cond_ * pi * q real vector/matrix * realsqrt * temp real scalar * th real vector/matrix * ve real vector/matrix * vent_vol * x real vector/matrix * xl real scalar * xr real scalar * yl real scalar * yr real scalar * zeros *******************************************************/ static void hlu_init_cond_(mxArray *P_PP_, mxArray *Q_PP_, mxArray *q_PP_, mxArray *ve_PP_, mxArray *th_P_ ) { mxArray th; mxArray P; mxArray Q; mxArray q; mxArray ve; double Cld = 0.0; double Crd = 0.0; double Ts = 0.0; double Td = 0.0; double temp = 0.0; mxArray b; mxArray A; mxArray x; double yl = 0.0; double xl = 0.0; double yr = 0.0; double xr = 0.0; double R0_ = 0.0; mxArray RM0_; mxArray RM1_; mxArray RM2_; mxArray RM3_; mxArray RM4_; mxArray RM5_; mxArray RM6_; mxArray RM7_; mxArray RM8_; mxArray RM9_; mxArray RM10_; mxArray RM11_; mxArray RM12_; mxArray RM13_; mxArray RM14_; mxArray RM15_; mxArray RM16_; mxArray RM17_; mxArray RM18_; mxArray RM19_; mxArray RM20_; mxArray RM21_; mxArray RM22_; mxArray RM23_; mxArray RM24_; mxArray RM25_; mxArray RM26_; mxArray RM27_; mxArray RM28_; mxArray RM29_; mxArray RM30_; mxArray RM31_; mxArray RM32_; mxArray RM33_; mxArray IM0_; double R1_ = 0.0; double R2_ = 0.0; mccRealInit(th); mccCopy(&th, th_P_); mccRealInit(P); mccRealInit(Q); mccRealInit(q); mccRealInit(ve); mccRealInit(b); mccRealInit(A); mccRealInit(x); mccRealInit(RM0_); mccRealInit(RM1_); mccRealInit(RM2_); mccRealInit(RM3_); mccRealInit(RM4_); mccRealInit(RM5_); mccRealInit(RM6_); mccRealInit(RM7_); mccRealInit(RM8_); mccRealInit(RM9_); mccRealInit(RM10_); mccRealInit(RM11_); mccRealInit(RM12_); mccRealInit(RM13_); mccRealInit(RM14_); mccRealInit(RM15_); mccRealInit(RM16_); mccRealInit(RM17_); mccRealInit(RM18_); mccRealInit(RM19_); mccRealInit(RM20_); mccRealInit(RM21_); mccRealInit(RM22_); mccRealInit(RM23_); mccRealInit(RM24_); mccRealInit(RM25_); mccRealInit(RM26_); mccRealInit(RM27_); mccRealInit(RM28_); mccRealInit(RM29_); mccRealInit(RM30_); mccRealInit(RM31_); mccRealInit(RM32_); mccRealInit(RM33_); mccIntInit(IM0_); /* % Storing nonlinear ventricular compliance values for */ /* % subsequent initial ventricular volume calculation. */ /* Cld = th(2); */ Cld = (mccPR(&th)[(2-1)]); /* Crd = th(6); */ Crd = (mccPR(&th)[(6-1)]); /* % Converting ventricular compliances to linear values which */ /* % is necessary for estimating initial pressures. */ /* th(1) = th(1)*((th(26)-th(9))/th(31)); */ mccPR(&th)[(1-1)] = ((mccPR(&th)[(1-1)]) * (double) (((mccPR(&th)[(26-1)]) - (mccPR(&th)[(9-1)])) / (double) (mccPR(&th)[(31-1)]))); /* th(2) = th(2)*((th(26)-th(9))/th(31)); */ mccPR(&th)[(2-1)] = ((mccPR(&th)[(2-1)]) * (double) (((mccPR(&th)[(26-1)]) - (mccPR(&th)[(9-1)])) / (double) (mccPR(&th)[(31-1)]))); /* th(5) = th(5)*((th(27)-th(12))/th(32)); */ mccPR(&th)[(5-1)] = ((mccPR(&th)[(5-1)]) * (double) (((mccPR(&th)[(27-1)]) - (mccPR(&th)[(12-1)])) / (double) (mccPR(&th)[(32-1)]))); /* th(6) = th(6)*((th(27)-th(12))/th(32)); */ mccPR(&th)[(6-1)] = ((mccPR(&th)[(6-1)]) * (double) (((mccPR(&th)[(27-1)]) - (mccPR(&th)[(12-1)])) / (double) (mccPR(&th)[(32-1)]))); /* % Estimating initial pressures. */ /* Ts = .3*sqrt(1/th(22)); */ R0_ = sqrt((1 / (double) (mccPR(&th)[(22-1)]))); Ts = (.3 * (double) R0_); /* Td = 1/th(22) - Ts; */ Td = ((1 / (double) (mccPR(&th)[(22-1)])) - Ts); /* temp = -th(2)*th(23) + th(1)*th(23); */ temp = (((-(mccPR(&th)[(2-1)])) * (double) (mccPR(&th)[(23-1)])) + ((mccPR(&th)[(1-1)]) * (double) (mccPR(&th)[(23-1)]))); /* b = [temp+th(6)*th(23)-th(5)*th(23); */ mccCatenateRows(&RM0_, mccTempMatrix(((temp + ((mccPR(&th)[(6-1)]) * (double) (mccPR(&th)[(23-1)]))) - ((mccPR(&th)[(5-1)]) * (double) (mccPR(&th)[(23-1)]))), 0., mccREAL, 0 ), mccTempMatrix((temp + ((Ts / (double) (mccPR(&th)[(15-1)])) * (double) (mccPR(&th)[(29-1)]))), 0., mccREAL, 0 )); mccCatenateRows(&RM1_, &RM0_, mccTempMatrix((temp - ((Td / (double) (mccPR(&th)[(17-1)])) * (double) (mccPR(&th)[(30-1)]))), 0., mccREAL, 0 )); mccCatenateRows(&RM2_, &RM1_, mccTempMatrix(temp, 0., mccREAL, 0 )); mccCatenateRows(&RM3_, &RM2_, mccTempMatrix(temp, 0., mccREAL, 0 )); mccCatenateRows(&b, &RM3_, mccTempMatrix(temp, 0., mccREAL, 0 )); /* A = [th(1), -th(2), -th(5), th(6), 0, 0; */ mccCatenateColumns(&RM3_, mccTempVectorElement(&th, 1), mccTempMatrix((-(mccPR(&th)[(2-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM2_, &RM3_, mccTempMatrix((-(mccPR(&th)[(5-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM1_, &RM2_, mccTempVectorElement(&th, 6)); mccCatenateColumns(&RM0_, &RM1_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM4_, &RM0_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM5_, mccTempMatrix(((mccPR(&th)[(1-1)]) + (Ts / (double) (mccPR(&th)[(15-1)]))), 0., mccREAL, 0 ), mccTempMatrix((-(mccPR(&th)[(2-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM6_, &RM5_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM7_, &RM6_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM8_, &RM7_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM9_, &RM8_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateRows(&RM10_, &RM4_, &RM9_); mccCatenateColumns(&RM11_, mccTempVectorElement(&th, 1), mccTempMatrix((-(mccPR(&th)[(2-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM12_, &RM11_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM13_, &RM12_, mccTempMatrix(((-Td) / (double) (mccPR(&th)[(17-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM14_, &RM13_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM15_, &RM14_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateRows(&RM16_, &RM10_, &RM15_); mccCatenateColumns(&RM17_, mccTempVectorElement(&th, 1), mccTempMatrix((-(mccPR(&th)[(2-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM18_, &RM17_, mccTempMatrix((Ts / (double) (mccPR(&th)[(18-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM19_, &RM18_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM20_, &RM19_, mccTempMatrix(((-Ts) / (double) (mccPR(&th)[(18-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM21_, &RM20_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateRows(&RM22_, &RM16_, &RM21_); mccCatenateColumns(&RM23_, mccTempVectorElement(&th, 1), mccTempMatrix((-(mccPR(&th)[(2-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM24_, &RM23_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM25_, &RM24_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM26_, &RM25_, mccTempMatrix((1 / (double) ((mccPR(&th)[(22-1)]) * (double) (mccPR(&th)[(19-1)]))), 0., mccREAL, 0 )); mccCatenateColumns(&RM27_, &RM26_, mccTempMatrix(( -1 / (double) ((mccPR(&th)[(22-1)]) * (double) (mccPR(&th)[(19-1)]))), 0., mccREAL, 0 )); mccCatenateRows(&RM28_, &RM22_, &RM27_); mccCatenateColumns(&RM29_, mccTempVectorElement(&th, 1), mccTempMatrix((-((mccPR(&th)[(2-1)]) + (Td / (double) (mccPR(&th)[(20-1)])))), 0., mccREAL, 0 )); mccCatenateColumns(&RM30_, &RM29_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM31_, &RM30_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM32_, &RM31_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM33_, &RM32_, mccTempMatrix((Td / (double) (mccPR(&th)[(20-1)])), 0., mccREAL, 0 )); mccCatenateRows(&A, &RM28_, &RM33_); /* x = A\b; */ mccRealLeftDivide(&x, &A, &b); /* P = [x(2), th(29), th(30), x(4:6)']'; */ mccCatenateColumns(&RM33_, mccTempVectorElement(&x, 2), mccTempVectorElement(&th, 29)); mccCatenateColumns(&RM32_, &RM33_, mccTempVectorElement(&th, 30)); { int i_, j_; int m_=1, n_=1, cx_ = 0; double *p_RM31_; int I_RM31_=1; double *p_x; int I_x=1; m_ = mccCalcSubscriptDimensions(m_, &n_, 1, ((int)(6 - 4) + 1), &x); mccAllocateMatrix(&RM31_, m_, n_); I_RM31_ = (mccM(&RM31_) != 1 || mccN(&RM31_) != 1); p_RM31_ = mccPR(&RM31_); I_x = (mccM(&x) != 1 || mccN(&x) != 1); p_x = mccPR(&x) + ((int)(4 - .5)); if (m_ != 0) { for (j_=0; j_ P(1)) */ if (( ((mccPR(&P)[(6-1)]) > (mccPR(&P)[(1-1)])) && !mccREL_NAN((mccPR(&P)[(6-1)])) && !mccREL_NAN((mccPR(&P)[(1-1)])) )) { /* q(1) = (P(6)-P(1))/th(20); */ mccPR(&q)[(1-1)] = (((mccPR(&P)[(6-1)]) - (mccPR(&P)[(1-1)])) / (double) (mccPR(&th)[(20-1)])); } else { /* else */ /* q(1) = 0; */ mccPR(&q)[(1-1)] = 0; /* end */ } /* if (P(1) > P(2)) */ if (( ((mccPR(&P)[(1-1)]) > (mccPR(&P)[(2-1)])) && !mccREL_NAN((mccPR(&P)[(1-1)])) && !mccREL_NAN((mccPR(&P)[(2-1)])) )) { /* q(2) = (P(1)-P(2))/th(15); */ mccPR(&q)[(2-1)] = (((mccPR(&P)[(1-1)]) - (mccPR(&P)[(2-1)])) / (double) (mccPR(&th)[(15-1)])); } else { /* else */ /* q(2) = 0; */ mccPR(&q)[(2-1)] = 0; /* end */ } /* q(3) = (P(2)-P(3))/th(16); */ mccPR(&q)[(3-1)] = (((mccPR(&P)[(2-1)]) - (mccPR(&P)[(3-1)])) / (double) (mccPR(&th)[(16-1)])); /* if (P(3) > P(4)) */ if (( ((mccPR(&P)[(3-1)]) > (mccPR(&P)[(4-1)])) && !mccREL_NAN((mccPR(&P)[(3-1)])) && !mccREL_NAN((mccPR(&P)[(4-1)])) )) { /* q(4) = (P(3)-P(4))/th(17); */ mccPR(&q)[(4-1)] = (((mccPR(&P)[(3-1)]) - (mccPR(&P)[(4-1)])) / (double) (mccPR(&th)[(17-1)])); } else { /* else */ /* q(4) = 0; */ mccPR(&q)[(4-1)] = 0; /* end */ } /* if (P(4) > P(5)) */ if (( ((mccPR(&P)[(4-1)]) > (mccPR(&P)[(5-1)])) && !mccREL_NAN((mccPR(&P)[(4-1)])) && !mccREL_NAN((mccPR(&P)[(5-1)])) )) { /* q(5) = (P(4)-P(5))/th(18); */ mccPR(&q)[(5-1)] = (((mccPR(&P)[(4-1)]) - (mccPR(&P)[(5-1)])) / (double) (mccPR(&th)[(18-1)])); } else { /* else */ /* q(5) = 0; */ mccPR(&q)[(5-1)] = 0; /* end */ } /* q(6) = (P(5)-P(6))/th(19); */ mccPR(&q)[(6-1)] = (((mccPR(&P)[(5-1)]) - (mccPR(&P)[(6-1)])) / (double) (mccPR(&th)[(19-1)])); /* % Establishing initial variable ventricular elastance values. */ /* ve = [1/th(2) 1/th(6)]'; */ mccCatenateColumns(&RM29_, mccTempMatrix((1 / (double) (mccPR(&th)[(2-1)])), 0., mccREAL, 0 ), mccTempMatrix((1 / (double) (mccPR(&th)[(6-1)])), 0., mccREAL, 0 )); mccConjTrans(&ve, &RM29_); /* % Establishing initial volumes. */ /* Q = [th(2) th(3) th(4) th(6) th(7) th(8)]'.*(P-th(23)*[1 0 0 1 1 1]') + [th(9:14)]; */ mccCatenateColumns(&RM29_, mccTempVectorElement(&th, 2), mccTempVectorElement(&th, 3)); mccCatenateColumns(&RM30_, &RM29_, mccTempVectorElement(&th, 4)); mccCatenateColumns(&RM31_, &RM30_, mccTempVectorElement(&th, 6)); mccCatenateColumns(&RM32_, &RM31_, mccTempVectorElement(&th, 7)); mccCatenateColumns(&RM33_, &RM32_, mccTempVectorElement(&th, 8)); mccConjTrans(&RM28_, &RM33_); R0_ = (mccPR(&th)[(23-1)]); mccConjTrans(&IM0_, &S265_); { int i_, j_; int m_=1, n_=1, cx_ = 0; double *p_Q; int I_Q=1; double *p_RM28_; int I_RM28_=1; double *p_P; int I_P=1; int *p_IM0_; int I_IM0_=1; double *p_th; int I_th=1; m_ = mcmCalcResultSize(m_, &n_, mccM(&RM28_), mccN(&RM28_)); m_ = mcmCalcResultSize(m_, &n_, mccM(&P), mccN(&P)); m_ = mcmCalcResultSize(m_, &n_, mccM(&IM0_), mccN(&IM0_)); m_ = mccCalcSubscriptDimensions(m_, &n_, 1, ((int)(14 - 9) + 1), &th); mccAllocateMatrix(&Q, m_, n_); I_Q = (mccM(&Q) != 1 || mccN(&Q) != 1); p_Q = mccPR(&Q); I_RM28_ = (mccM(&RM28_) != 1 || mccN(&RM28_) != 1); p_RM28_ = mccPR(&RM28_); I_P = (mccM(&P) != 1 || mccN(&P) != 1); p_P = mccPR(&P); I_IM0_ = (mccM(&IM0_) != 1 || mccN(&IM0_) != 1); p_IM0_ = mccIPR(&IM0_); I_th = (mccM(&th) != 1 || mccN(&th) != 1); p_th = mccPR(&th) + ((int)(9 - .5)); if (m_ != 0) { for (j_=0; j_ * S267_ * Td real scalar * Ts real scalar * atan * b real vector/matrix * pi * q real vector/matrix * realsqrt * sc_init_cond_ * temp real scalar * th real vector/matrix * ve real vector/matrix * vent_vol * x real vector/matrix * xl real scalar * xr real scalar * yl real scalar * yr real scalar * zeros *******************************************************/ static void sc_init_cond_(mxArray *P_PP_, mxArray *Q_PP_, mxArray *q_PP_, mxArray *ve_PP_, mxArray *th_P_ ) { mxArray th; mxArray P; mxArray Q; mxArray q; mxArray ve; double Cld = 0.0; double Crd = 0.0; double Ts = 0.0; double Td = 0.0; double temp = 0.0; mxArray b; mxArray A; mxArray x; double yl = 0.0; double xl = 0.0; double yr = 0.0; double xr = 0.0; double R0_ = 0.0; mxArray RM0_; mxArray RM1_; mxArray RM2_; mxArray RM3_; mxArray RM4_; mxArray RM5_; mxArray RM6_; mxArray RM7_; mxArray RM8_; mxArray RM9_; mxArray RM10_; mxArray RM11_; mxArray RM12_; mxArray IM0_; double R1_ = 0.0; double R2_ = 0.0; mccRealInit(th); mccCopy(&th, th_P_); mccRealInit(P); mccRealInit(Q); mccRealInit(q); mccRealInit(ve); mccRealInit(b); mccRealInit(A); mccRealInit(x); mccRealInit(RM0_); mccRealInit(RM1_); mccRealInit(RM2_); mccRealInit(RM3_); mccRealInit(RM4_); mccRealInit(RM5_); mccRealInit(RM6_); mccRealInit(RM7_); mccRealInit(RM8_); mccRealInit(RM9_); mccRealInit(RM10_); mccRealInit(RM11_); mccRealInit(RM12_); mccIntInit(IM0_); /* % Storing nonlinear ventricular compliance values for */ /* % subsequent initial ventricular volume calculation. */ /* Cld = th(2); */ Cld = (mccPR(&th)[(2-1)]); /* Crd = th(6); */ Crd = (mccPR(&th)[(6-1)]); /* % Converting ventricular compliances to linear values which */ /* % is necessary for estimating initial pressures. */ /* th(1) = th(1)*((th(26)-th(9))/th(31)); */ mccPR(&th)[(1-1)] = ((mccPR(&th)[(1-1)]) * (double) (((mccPR(&th)[(26-1)]) - (mccPR(&th)[(9-1)])) / (double) (mccPR(&th)[(31-1)]))); /* th(2) = th(2)*((th(26)-th(9))/th(31)); */ mccPR(&th)[(2-1)] = ((mccPR(&th)[(2-1)]) * (double) (((mccPR(&th)[(26-1)]) - (mccPR(&th)[(9-1)])) / (double) (mccPR(&th)[(31-1)]))); /* th(5) = th(5)*((th(27)-th(12))/th(32)); */ mccPR(&th)[(5-1)] = ((mccPR(&th)[(5-1)]) * (double) (((mccPR(&th)[(27-1)]) - (mccPR(&th)[(12-1)])) / (double) (mccPR(&th)[(32-1)]))); /* th(6) = th(6)*((th(27)-th(12))/th(32)); */ mccPR(&th)[(6-1)] = ((mccPR(&th)[(6-1)]) * (double) (((mccPR(&th)[(27-1)]) - (mccPR(&th)[(12-1)])) / (double) (mccPR(&th)[(32-1)]))); /* % Estimating initial pressures. */ /* Ts = .3*sqrt(1/th(22)); */ R0_ = sqrt((1 / (double) (mccPR(&th)[(22-1)]))); Ts = (.3 * (double) R0_); /* Td = 1/th(22) - Ts; */ Td = ((1 / (double) (mccPR(&th)[(22-1)])) - Ts); /* temp = -th(6)*th(23) + th(5)*th(23); */ temp = (((-(mccPR(&th)[(6-1)])) * (double) (mccPR(&th)[(23-1)])) + ((mccPR(&th)[(5-1)]) * (double) (mccPR(&th)[(23-1)]))); /* b = [temp+(Ts*th(28)/th(18)); */ mccCatenateRows(&RM0_, mccTempMatrix((temp + ((Ts * (double) (mccPR(&th)[(28-1)])) / (double) (mccPR(&th)[(18-1)]))), 0., mccREAL, 0 ), mccTempMatrix(temp, 0., mccREAL, 0 )); mccCatenateRows(&RM1_, &RM0_, mccTempMatrix(temp, 0., mccREAL, 0 )); mccCatenateRows(&b, &RM1_, mccTempMatrix(((mccPR(&th)[(33-1)]) * (double) ((mccPR(&th)[(3-1)]) + (mccPR(&th)[(4-1)]))), 0., mccREAL, 0 )); /* A = [0, 0, (Ts/th(18))+th(5), -th(6); */ mccCatenateColumns(&RM1_, &S266_, mccTempMatrix(((Ts / (double) (mccPR(&th)[(18-1)])) + (mccPR(&th)[(5-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM0_, &RM1_, mccTempMatrix((-(mccPR(&th)[(6-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM2_, mccTempMatrix(0, 0., mccINT, 0 ), mccTempMatrix((Td / (double) (mccPR(&th)[(17-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM3_, &RM2_, mccTempVectorElement(&th, 5)); mccCatenateColumns(&RM4_, &RM3_, mccTempMatrix(((-(Td / (double) (mccPR(&th)[(17-1)]))) - (mccPR(&th)[(6-1)])), 0., mccREAL, 0 )); mccCatenateRows(&RM5_, &RM0_, &RM4_); mccCatenateColumns(&RM6_, mccTempMatrix((1 / (double) ((mccPR(&th)[(22-1)]) * (double) (mccPR(&th)[(16-1)]))), 0., mccREAL, 0 ), mccTempMatrix(( -1 / (double) ((mccPR(&th)[(22-1)]) * (double) (mccPR(&th)[(16-1)]))), 0., mccREAL, 0 )); mccCatenateColumns(&RM7_, &RM6_, mccTempVectorElement(&th, 5)); mccCatenateColumns(&RM8_, &RM7_, mccTempMatrix((-(mccPR(&th)[(6-1)])), 0., mccREAL, 0 )); mccCatenateRows(&RM9_, &RM5_, &RM8_); mccCatenateColumns(&RM10_, mccTempVectorElement(&th, 3), mccTempVectorElement(&th, 4)); mccCatenateColumns(&RM11_, &RM10_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM12_, &RM11_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateRows(&A, &RM9_, &RM12_); /* x = A\b; */ mccRealLeftDivide(&x, &A, &b); /* P = [th(33) x(1) x(2) x(4) th(33) th(33)]'; */ mccCatenateColumns(&RM12_, mccTempVectorElement(&th, 33), mccTempVectorElement(&x, 1)); mccCatenateColumns(&RM11_, &RM12_, mccTempVectorElement(&x, 2)); mccCatenateColumns(&RM10_, &RM11_, mccTempVectorElement(&x, 4)); mccCatenateColumns(&RM9_, &RM10_, mccTempVectorElement(&th, 33)); mccCatenateColumns(&RM8_, &RM9_, mccTempVectorElement(&th, 33)); mccConjTrans(&P, &RM8_); /* % Establishing initial flow rates. */ /* q = zeros(6,1); */ mccZerosMN(&q, 6, 1); /* if (P(6) > P(1)) */ if (( ((mccPR(&P)[(6-1)]) > (mccPR(&P)[(1-1)])) && !mccREL_NAN((mccPR(&P)[(6-1)])) && !mccREL_NAN((mccPR(&P)[(1-1)])) )) { /* q(1) = (P(6)-P(1))/th(20); */ mccPR(&q)[(1-1)] = (((mccPR(&P)[(6-1)]) - (mccPR(&P)[(1-1)])) / (double) (mccPR(&th)[(20-1)])); } else { /* else */ /* q(1) = 0; */ mccPR(&q)[(1-1)] = 0; /* end */ } /* if (P(1) > th(33)) */ if (( ((mccPR(&P)[(1-1)]) > (mccPR(&th)[(33-1)])) && !mccREL_NAN((mccPR(&P)[(1-1)])) && !mccREL_NAN((mccPR(&th)[(33-1)])) )) { /* q(2) = (P(1)-th(33))/th(15); */ mccPR(&q)[(2-1)] = (((mccPR(&P)[(1-1)]) - (mccPR(&th)[(33-1)])) / (double) (mccPR(&th)[(15-1)])); } else { /* else */ /* q(2) = 0; */ mccPR(&q)[(2-1)] = 0; /* end */ } /* q(3) = (P(2)-P(3))/th(16); */ mccPR(&q)[(3-1)] = (((mccPR(&P)[(2-1)]) - (mccPR(&P)[(3-1)])) / (double) (mccPR(&th)[(16-1)])); /* if (P(3) > P(4)) */ if (( ((mccPR(&P)[(3-1)]) > (mccPR(&P)[(4-1)])) && !mccREL_NAN((mccPR(&P)[(3-1)])) && !mccREL_NAN((mccPR(&P)[(4-1)])) )) { /* q(4) = (P(3)-P(4))/th(17); */ mccPR(&q)[(4-1)] = (((mccPR(&P)[(3-1)]) - (mccPR(&P)[(4-1)])) / (double) (mccPR(&th)[(17-1)])); } else { /* else */ /* q(4) = 0; */ mccPR(&q)[(4-1)] = 0; /* end */ } /* if (P(4) > th(28)) */ if (( ((mccPR(&P)[(4-1)]) > (mccPR(&th)[(28-1)])) && !mccREL_NAN((mccPR(&P)[(4-1)])) && !mccREL_NAN((mccPR(&th)[(28-1)])) )) { /* q(5) = (P(4)-th(28))/th(18); */ mccPR(&q)[(5-1)] = (((mccPR(&P)[(4-1)]) - (mccPR(&th)[(28-1)])) / (double) (mccPR(&th)[(18-1)])); } else { /* else */ /* q(5) = 0; */ mccPR(&q)[(5-1)] = 0; /* end */ } /* q(6) = (P(5)-P(6))/th(19); */ mccPR(&q)[(6-1)] = (((mccPR(&P)[(5-1)]) - (mccPR(&P)[(6-1)])) / (double) (mccPR(&th)[(19-1)])); /* % Establishing initial variable ventricular elastance values. */ /* ve = [1/th(2) 1/th(6)]'; */ mccCatenateColumns(&RM8_, mccTempMatrix((1 / (double) (mccPR(&th)[(2-1)])), 0., mccREAL, 0 ), mccTempMatrix((1 / (double) (mccPR(&th)[(6-1)])), 0., mccREAL, 0 )); mccConjTrans(&ve, &RM8_); /* % Establishing initial volumes. */ /* Q = [th(2) th(3) th(4) th(6) th(7) th(8)]'.*(P-th(23)*[1 0 0 1 1 1]') + [th(9:14)]; */ mccCatenateColumns(&RM8_, mccTempVectorElement(&th, 2), mccTempVectorElement(&th, 3)); mccCatenateColumns(&RM9_, &RM8_, mccTempVectorElement(&th, 4)); mccCatenateColumns(&RM10_, &RM9_, mccTempVectorElement(&th, 6)); mccCatenateColumns(&RM11_, &RM10_, mccTempVectorElement(&th, 7)); mccCatenateColumns(&RM12_, &RM11_, mccTempVectorElement(&th, 8)); mccConjTrans(&RM7_, &RM12_); R0_ = (mccPR(&th)[(23-1)]); mccConjTrans(&IM0_, &S267_); { int i_, j_; int m_=1, n_=1, cx_ = 0; double *p_Q; int I_Q=1; double *p_RM7_; int I_RM7_=1; double *p_P; int I_P=1; int *p_IM0_; int I_IM0_=1; double *p_th; int I_th=1; m_ = mcmCalcResultSize(m_, &n_, mccM(&RM7_), mccN(&RM7_)); m_ = mcmCalcResultSize(m_, &n_, mccM(&P), mccN(&P)); m_ = mcmCalcResultSize(m_, &n_, mccM(&IM0_), mccN(&IM0_)); m_ = mccCalcSubscriptDimensions(m_, &n_, 1, ((int)(14 - 9) + 1), &th); mccAllocateMatrix(&Q, m_, n_); I_Q = (mccM(&Q) != 1 || mccN(&Q) != 1); p_Q = mccPR(&Q); I_RM7_ = (mccM(&RM7_) != 1 || mccN(&RM7_) != 1); p_RM7_ = mccPR(&RM7_); I_P = (mccM(&P) != 1 || mccN(&P) != 1); p_P = mccPR(&P); I_IM0_ = (mccM(&IM0_) != 1 || mccN(&IM0_) != 1); p_IM0_ = mccIPR(&IM0_); I_th = (mccM(&th) != 1 || mccN(&th) != 1); p_th = mccPR(&th) + ((int)(9 - .5)); if (m_ != 0) { for (j_=0; j_ * Td real scalar * Ts real scalar * atan * b real vector/matrix * lv_init_cond_ * pi * q real vector/matrix * realsqrt * temp real scalar * th real vector/matrix * ve real vector/matrix * vent_vol * x real vector/matrix * xl real scalar * xr real scalar * yl real scalar * yr real scalar * zeros *******************************************************/ static void lv_init_cond_(mxArray *P_PP_, mxArray *Q_PP_, mxArray *q_PP_, mxArray *ve_PP_, mxArray *th_P_ ) { mxArray th; mxArray P; mxArray Q; mxArray q; mxArray ve; double Cld = 0.0; double Crd = 0.0; double Ts = 0.0; double Td = 0.0; double temp = 0.0; mxArray b; mxArray A; mxArray x; double yl = 0.0; double xl = 0.0; double yr = 0.0; double xr = 0.0; double R0_ = 0.0; mxArray RM0_; mxArray RM1_; mxArray RM2_; mxArray RM3_; mxArray RM4_; mxArray RM5_; mxArray IM0_; double R1_ = 0.0; double R2_ = 0.0; mccRealInit(th); mccCopy(&th, th_P_); mccRealInit(P); mccRealInit(Q); mccRealInit(q); mccRealInit(ve); mccRealInit(b); mccRealInit(A); mccRealInit(x); mccRealInit(RM0_); mccRealInit(RM1_); mccRealInit(RM2_); mccRealInit(RM3_); mccRealInit(RM4_); mccRealInit(RM5_); mccIntInit(IM0_); /* % Storing nonlinear ventricular compliance values for */ /* % subsequent initial ventricular volume calculation. */ /* Cld = th(2); */ Cld = (mccPR(&th)[(2-1)]); /* Crd = th(6); */ Crd = (mccPR(&th)[(6-1)]); /* % Converting ventricular compliances to linear values which */ /* % is necessary for estimating initial pressures. */ /* th(1) = th(1)*((th(26)-th(9))/th(31)); */ mccPR(&th)[(1-1)] = ((mccPR(&th)[(1-1)]) * (double) (((mccPR(&th)[(26-1)]) - (mccPR(&th)[(9-1)])) / (double) (mccPR(&th)[(31-1)]))); /* th(2) = th(2)*((th(26)-th(9))/th(31)); */ mccPR(&th)[(2-1)] = ((mccPR(&th)[(2-1)]) * (double) (((mccPR(&th)[(26-1)]) - (mccPR(&th)[(9-1)])) / (double) (mccPR(&th)[(31-1)]))); /* th(5) = th(5)*((th(27)-th(12))/th(32)); */ mccPR(&th)[(5-1)] = ((mccPR(&th)[(5-1)]) * (double) (((mccPR(&th)[(27-1)]) - (mccPR(&th)[(12-1)])) / (double) (mccPR(&th)[(32-1)]))); /* th(6) = th(6)*((th(27)-th(12))/th(32)); */ mccPR(&th)[(6-1)] = ((mccPR(&th)[(6-1)]) * (double) (((mccPR(&th)[(27-1)]) - (mccPR(&th)[(12-1)])) / (double) (mccPR(&th)[(32-1)]))); /* % Estimating initial pressures. */ /* Ts = .3*sqrt(1/th(22)); */ R0_ = sqrt((1 / (double) (mccPR(&th)[(22-1)]))); Ts = (.3 * (double) R0_); /* Td = 1/th(22) - Ts; */ Td = ((1 / (double) (mccPR(&th)[(22-1)])) - Ts); /* temp = -th(2)*th(23) + th(1)*th(23); */ temp = (((-(mccPR(&th)[(2-1)])) * (double) (mccPR(&th)[(23-1)])) + ((mccPR(&th)[(1-1)]) * (double) (mccPR(&th)[(23-1)]))); /* b = [temp-(th(34)*Td)/th(20); */ mccCatenateRows(&b, mccTempMatrix((temp - (((mccPR(&th)[(34-1)]) * (double) Td) / (double) (mccPR(&th)[(20-1)]))), 0., mccREAL, 0 ), mccTempMatrix((temp + (((mccPR(&th)[(29-1)]) * (double) Ts) / (double) (mccPR(&th)[(15-1)]))), 0., mccREAL, 0 )); /* A = [th(1), -th(2)-(Td/th(20)); */ mccCatenateColumns(&RM0_, mccTempVectorElement(&th, 1), mccTempMatrix(((-(mccPR(&th)[(2-1)])) - (Td / (double) (mccPR(&th)[(20-1)]))), 0., mccREAL, 0 )); mccCatenateColumns(&RM1_, mccTempMatrix(((mccPR(&th)[(1-1)]) + (Ts / (double) (mccPR(&th)[(15-1)]))), 0., mccREAL, 0 ), mccTempMatrix((-(mccPR(&th)[(2-1)])), 0., mccREAL, 0 )); mccCatenateRows(&A, &RM0_, &RM1_); /* x = A\b; */ mccRealLeftDivide(&x, &A, &b); /* P = [x(2) th(29) th(33) th(33) th(33) th(34)]'; */ mccCatenateColumns(&RM1_, mccTempVectorElement(&x, 2), mccTempVectorElement(&th, 29)); mccCatenateColumns(&RM0_, &RM1_, mccTempVectorElement(&th, 33)); mccCatenateColumns(&RM2_, &RM0_, mccTempVectorElement(&th, 33)); mccCatenateColumns(&RM3_, &RM2_, mccTempVectorElement(&th, 33)); mccCatenateColumns(&RM4_, &RM3_, mccTempVectorElement(&th, 34)); mccConjTrans(&P, &RM4_); /* % Establishing initial flow rates. */ /* q = zeros(6,1); */ mccZerosMN(&q, 6, 1); /* if (th(34) > P(1)) */ if (( ((mccPR(&th)[(34-1)]) > (mccPR(&P)[(1-1)])) && !mccREL_NAN((mccPR(&th)[(34-1)])) && !mccREL_NAN((mccPR(&P)[(1-1)])) )) { /* q(1) = (th(34)-P(1))/th(20); */ mccPR(&q)[(1-1)] = (((mccPR(&th)[(34-1)]) - (mccPR(&P)[(1-1)])) / (double) (mccPR(&th)[(20-1)])); } else { /* else */ /* q(1) = 0; */ mccPR(&q)[(1-1)] = 0; /* end */ } /* if (P(1) > th(29)) */ if (( ((mccPR(&P)[(1-1)]) > (mccPR(&th)[(29-1)])) && !mccREL_NAN((mccPR(&P)[(1-1)])) && !mccREL_NAN((mccPR(&th)[(29-1)])) )) { /* q(2) = (P(1)-th(29))/th(15); */ mccPR(&q)[(2-1)] = (((mccPR(&P)[(1-1)]) - (mccPR(&th)[(29-1)])) / (double) (mccPR(&th)[(15-1)])); } else { /* else */ /* q(2) = 0; */ mccPR(&q)[(2-1)] = 0; /* end */ } /* q(3) = 0; */ mccPR(&q)[(3-1)] = 0; /* if (P(3) > P(4)) */ if (( ((mccPR(&P)[(3-1)]) > (mccPR(&P)[(4-1)])) && !mccREL_NAN((mccPR(&P)[(3-1)])) && !mccREL_NAN((mccPR(&P)[(4-1)])) )) { /* q(4) = (P(3)-P(4))/th(17); */ mccPR(&q)[(4-1)] = (((mccPR(&P)[(3-1)]) - (mccPR(&P)[(4-1)])) / (double) (mccPR(&th)[(17-1)])); } else { /* else */ /* q(4) = 0; */ mccPR(&q)[(4-1)] = 0; /* end */ } /* if (P(4) > P(5)) */ if (( ((mccPR(&P)[(4-1)]) > (mccPR(&P)[(5-1)])) && !mccREL_NAN((mccPR(&P)[(4-1)])) && !mccREL_NAN((mccPR(&P)[(5-1)])) )) { /* q(5) = (P(4)-P(5))/th(18); */ mccPR(&q)[(5-1)] = (((mccPR(&P)[(4-1)]) - (mccPR(&P)[(5-1)])) / (double) (mccPR(&th)[(18-1)])); } else { /* else */ /* q(5) = 0; */ mccPR(&q)[(5-1)] = 0; /* end */ } /* q(6) = 0; */ mccPR(&q)[(6-1)] = 0; /* % Establishing initial variable ventricular elastance values. */ /* ve = [1/th(2) 1/th(6)]'; */ mccCatenateColumns(&RM4_, mccTempMatrix((1 / (double) (mccPR(&th)[(2-1)])), 0., mccREAL, 0 ), mccTempMatrix((1 / (double) (mccPR(&th)[(6-1)])), 0., mccREAL, 0 )); mccConjTrans(&ve, &RM4_); /* % Establishing initial volumes. */ /* Q = [th(2) th(3) th(4) th(6) th(7) th(8)]'.*(P-th(23)*[1 0 0 1 1 1]') + [th(9:14)]; */ mccCatenateColumns(&RM4_, mccTempVectorElement(&th, 2), mccTempVectorElement(&th, 3)); mccCatenateColumns(&RM3_, &RM4_, mccTempVectorElement(&th, 4)); mccCatenateColumns(&RM2_, &RM3_, mccTempVectorElement(&th, 6)); mccCatenateColumns(&RM0_, &RM2_, mccTempVectorElement(&th, 7)); mccCatenateColumns(&RM1_, &RM0_, mccTempVectorElement(&th, 8)); mccConjTrans(&RM5_, &RM1_); R0_ = (mccPR(&th)[(23-1)]); mccConjTrans(&IM0_, &S268_); { int i_, j_; int m_=1, n_=1, cx_ = 0; double *p_Q; int I_Q=1; double *p_RM5_; int I_RM5_=1; double *p_P; int I_P=1; int *p_IM0_; int I_IM0_=1; double *p_th; int I_th=1; m_ = mcmCalcResultSize(m_, &n_, mccM(&RM5_), mccN(&RM5_)); m_ = mcmCalcResultSize(m_, &n_, mccM(&P), mccN(&P)); m_ = mcmCalcResultSize(m_, &n_, mccM(&IM0_), mccN(&IM0_)); m_ = mccCalcSubscriptDimensions(m_, &n_, 1, ((int)(14 - 9) + 1), &th); mccAllocateMatrix(&Q, m_, n_); I_Q = (mccM(&Q) != 1 || mccN(&Q) != 1); p_Q = mccPR(&Q); I_RM5_ = (mccM(&RM5_) != 1 || mccN(&RM5_) != 1); p_RM5_ = mccPR(&RM5_); I_P = (mccM(&P) != 1 || mccN(&P) != 1); p_P = mccPR(&P); I_IM0_ = (mccM(&IM0_) != 1 || mccN(&IM0_) != 1); p_IM0_ = mccIPR(&IM0_); I_th = (mccM(&th) != 1 || mccN(&th) != 1); p_th = mccPR(&th) + ((int)(9 - .5)); if (m_ != 0) { for (j_=0; j_ * Td real scalar * Ts real scalar * b real vector/matrix * init_cond_ * q real vector/matrix * realsqrt * temp real scalar * th real vector/matrix * ve real vector/matrix * x real vector/matrix * zeros *******************************************************/ static void init_cond_(mxArray *P_PP_, mxArray *Q_PP_, mxArray *q_PP_, mxArray *ve_PP_, mxArray *th_P_ ) { mxArray th; mxArray P; mxArray Q; mxArray q; mxArray ve; double Ts = 0.0; double Td = 0.0; double temp = 0.0; mxArray b; mxArray A; mxArray x; double R0_ = 0.0; mxArray RM0_; mxArray RM1_; mxArray RM2_; mxArray RM3_; mxArray RM4_; mxArray RM5_; mxArray RM6_; mxArray RM7_; mxArray RM8_; mxArray RM9_; mxArray RM10_; mxArray RM11_; mxArray RM12_; mxArray RM13_; mxArray RM14_; mxArray RM15_; mxArray RM16_; mxArray RM17_; mxArray RM18_; mxArray RM19_; mxArray RM20_; mxArray RM21_; mxArray RM22_; mxArray RM23_; mxArray RM24_; mxArray RM25_; mxArray RM26_; mxArray RM27_; mxArray RM28_; mxArray RM29_; mxArray RM30_; mxArray RM31_; mxArray RM32_; mxArray RM33_; mxArray RM34_; mxArray RM35_; mxArray RM36_; mxArray RM37_; mxArray RM38_; mxArray RM39_; mxArray RM40_; mxArray RM41_; mxArray RM42_; mxArray RM43_; mxArray RM44_; mxArray RM45_; mxArray RM46_; mxArray RM47_; mxArray RM48_; mxArray RM49_; mxArray RM50_; mxArray RM51_; mxArray RM52_; mxArray RM53_; mxArray RM54_; mxArray RM55_; mxArray RM56_; mxArray RM57_; mxArray RM58_; mxArray RM59_; mxArray RM60_; mxArray RM61_; mxArray IM0_; mccRealInit(th); mccCopy(&th, th_P_); mccRealInit(P); mccRealInit(Q); mccRealInit(q); mccRealInit(ve); mccRealInit(b); mccRealInit(A); mccRealInit(x); mccRealInit(RM0_); mccRealInit(RM1_); mccRealInit(RM2_); mccRealInit(RM3_); mccRealInit(RM4_); mccRealInit(RM5_); mccRealInit(RM6_); mccRealInit(RM7_); mccRealInit(RM8_); mccRealInit(RM9_); mccRealInit(RM10_); mccRealInit(RM11_); mccRealInit(RM12_); mccRealInit(RM13_); mccRealInit(RM14_); mccRealInit(RM15_); mccRealInit(RM16_); mccRealInit(RM17_); mccRealInit(RM18_); mccRealInit(RM19_); mccRealInit(RM20_); mccRealInit(RM21_); mccRealInit(RM22_); mccRealInit(RM23_); mccRealInit(RM24_); mccRealInit(RM25_); mccRealInit(RM26_); mccRealInit(RM27_); mccRealInit(RM28_); mccRealInit(RM29_); mccRealInit(RM30_); mccRealInit(RM31_); mccRealInit(RM32_); mccRealInit(RM33_); mccRealInit(RM34_); mccRealInit(RM35_); mccRealInit(RM36_); mccRealInit(RM37_); mccRealInit(RM38_); mccRealInit(RM39_); mccRealInit(RM40_); mccRealInit(RM41_); mccRealInit(RM42_); mccRealInit(RM43_); mccRealInit(RM44_); mccRealInit(RM45_); mccRealInit(RM46_); mccRealInit(RM47_); mccRealInit(RM48_); mccRealInit(RM49_); mccRealInit(RM50_); mccRealInit(RM51_); mccRealInit(RM52_); mccRealInit(RM53_); mccRealInit(RM54_); mccRealInit(RM55_); mccRealInit(RM56_); mccRealInit(RM57_); mccRealInit(RM58_); mccRealInit(RM59_); mccRealInit(RM60_); mccRealInit(RM61_); mccIntInit(IM0_); /* % Converting ventricular compliances to linear values; */ /* th(1) = th(1)*((th(26)-th(9))/th(31)); */ mccPR(&th)[(1-1)] = ((mccPR(&th)[(1-1)]) * (double) (((mccPR(&th)[(26-1)]) - (mccPR(&th)[(9-1)])) / (double) (mccPR(&th)[(31-1)]))); /* th(2) = th(2)*((th(26)-th(9))/th(31)); */ mccPR(&th)[(2-1)] = ((mccPR(&th)[(2-1)]) * (double) (((mccPR(&th)[(26-1)]) - (mccPR(&th)[(9-1)])) / (double) (mccPR(&th)[(31-1)]))); /* th(5) = th(5)*((th(27)-th(12))/th(32)); */ mccPR(&th)[(5-1)] = ((mccPR(&th)[(5-1)]) * (double) (((mccPR(&th)[(27-1)]) - (mccPR(&th)[(12-1)])) / (double) (mccPR(&th)[(32-1)]))); /* th(6) = th(6)*((th(27)-th(12))/th(32)); */ mccPR(&th)[(6-1)] = ((mccPR(&th)[(6-1)]) * (double) (((mccPR(&th)[(27-1)]) - (mccPR(&th)[(12-1)])) / (double) (mccPR(&th)[(32-1)]))); /* % Estimating initial pressures. */ /* Ts = .3*sqrt(1/th(22)); */ R0_ = sqrt((1 / (double) (mccPR(&th)[(22-1)]))); Ts = (.3 * (double) R0_); /* Td = 1/th(22) - Ts; */ Td = ((1 / (double) (mccPR(&th)[(22-1)])) - Ts); /* temp = -th(2)*th(23) + th(1)*th(23); */ temp = (((-(mccPR(&th)[(2-1)])) * (double) (mccPR(&th)[(23-1)])) + ((mccPR(&th)[(1-1)]) * (double) (mccPR(&th)[(23-1)]))); /* b = [temp+th(6)*th(23)-th(5)*th(23); */ mccCatenateRows(&RM0_, mccTempMatrix(((temp + ((mccPR(&th)[(6-1)]) * (double) (mccPR(&th)[(23-1)]))) - ((mccPR(&th)[(5-1)]) * (double) (mccPR(&th)[(23-1)]))), 0., mccREAL, 0 ), mccTempMatrix(temp, 0., mccREAL, 0 )); mccCatenateRows(&RM1_, &RM0_, mccTempMatrix(temp, 0., mccREAL, 0 )); mccCatenateRows(&RM2_, &RM1_, mccTempMatrix(temp, 0., mccREAL, 0 )); mccCatenateRows(&RM3_, &RM2_, mccTempMatrix(temp, 0., mccREAL, 0 )); mccCatenateRows(&RM4_, &RM3_, mccTempMatrix(temp, 0., mccREAL, 0 )); mccCatenateRows(&RM5_, &RM4_, mccTempMatrix(temp, 0., mccREAL, 0 )); mccCatenateRows(&b, &RM5_, mccTempMatrix(((((((mccPR(&th)[(21-1)]) - ((((((mccPR(&th)[(14-1)]) + (mccPR(&th)[(13-1)])) + (mccPR(&th)[(12-1)])) + (mccPR(&th)[(11-1)])) + (mccPR(&th)[(10-1)])) + (mccPR(&th)[(9-1)]))) + ((mccPR(&th)[(2-1)]) * (double) (mccPR(&th)[(23-1)]))) + ((mccPR(&th)[(6-1)]) * (double) (mccPR(&th)[(23-1)]))) + ((mccPR(&th)[(7-1)]) * (double) (mccPR(&th)[(23-1)]))) + ((mccPR(&th)[(8-1)]) * (double) (mccPR(&th)[(23-1)]))), 0., mccREAL, 0 )); /* A = [th(1), -th(2), 0, 0, -th(5), th(6), 0, 0; */ mccCatenateColumns(&RM5_, mccTempVectorElement(&th, 1), mccTempMatrix((-(mccPR(&th)[(2-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM4_, &RM5_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM3_, &RM4_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM2_, &RM3_, mccTempMatrix((-(mccPR(&th)[(5-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM1_, &RM2_, mccTempVectorElement(&th, 6)); mccCatenateColumns(&RM0_, &RM1_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM6_, &RM0_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM7_, mccTempMatrix(((mccPR(&th)[(1-1)]) + (Ts / (double) (mccPR(&th)[(15-1)]))), 0., mccREAL, 0 ), mccTempMatrix((-(mccPR(&th)[(2-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM8_, &RM7_, mccTempMatrix(((-Ts) / (double) (mccPR(&th)[(15-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM9_, &RM8_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM10_, &RM9_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM11_, &RM10_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM12_, &RM11_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM13_, &RM12_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateRows(&RM14_, &RM6_, &RM13_); mccCatenateColumns(&RM15_, mccTempVectorElement(&th, 1), mccTempMatrix((-(mccPR(&th)[(2-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM16_, &RM15_, mccTempMatrix((1 / (double) ((mccPR(&th)[(22-1)]) * (double) (mccPR(&th)[(16-1)]))), 0., mccREAL, 0 )); mccCatenateColumns(&RM17_, &RM16_, mccTempMatrix(( -1 / (double) ((mccPR(&th)[(22-1)]) * (double) (mccPR(&th)[(16-1)]))), 0., mccREAL, 0 )); mccCatenateColumns(&RM18_, &RM17_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM19_, &RM18_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM20_, &RM19_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM21_, &RM20_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateRows(&RM22_, &RM14_, &RM21_); mccCatenateColumns(&RM23_, mccTempVectorElement(&th, 1), mccTempMatrix((-(mccPR(&th)[(2-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM24_, &RM23_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM25_, &RM24_, mccTempMatrix((Td / (double) (mccPR(&th)[(17-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM26_, &RM25_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM27_, &RM26_, mccTempMatrix(((-Td) / (double) (mccPR(&th)[(17-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM28_, &RM27_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM29_, &RM28_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateRows(&RM30_, &RM22_, &RM29_); mccCatenateColumns(&RM31_, mccTempVectorElement(&th, 1), mccTempMatrix((-(mccPR(&th)[(2-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM32_, &RM31_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM33_, &RM32_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM34_, &RM33_, mccTempMatrix((Ts / (double) (mccPR(&th)[(18-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM35_, &RM34_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM36_, &RM35_, mccTempMatrix(((-Ts) / (double) (mccPR(&th)[(18-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM37_, &RM36_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateRows(&RM38_, &RM30_, &RM37_); mccCatenateColumns(&RM39_, mccTempVectorElement(&th, 1), mccTempMatrix((-(mccPR(&th)[(2-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM40_, &RM39_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM41_, &RM40_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM42_, &RM41_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM43_, &RM42_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM44_, &RM43_, mccTempMatrix((1 / (double) ((mccPR(&th)[(22-1)]) * (double) (mccPR(&th)[(19-1)]))), 0., mccREAL, 0 )); mccCatenateColumns(&RM45_, &RM44_, mccTempMatrix(( -1 / (double) ((mccPR(&th)[(22-1)]) * (double) (mccPR(&th)[(19-1)]))), 0., mccREAL, 0 )); mccCatenateRows(&RM46_, &RM38_, &RM45_); mccCatenateColumns(&RM47_, mccTempVectorElement(&th, 1), mccTempMatrix((-((mccPR(&th)[(2-1)]) + (Td / (double) (mccPR(&th)[(20-1)])))), 0., mccREAL, 0 )); mccCatenateColumns(&RM48_, &RM47_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM49_, &RM48_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM50_, &RM49_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM51_, &RM50_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM52_, &RM51_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM53_, &RM52_, mccTempMatrix((Td / (double) (mccPR(&th)[(20-1)])), 0., mccREAL, 0 )); mccCatenateRows(&RM54_, &RM46_, &RM53_); mccCatenateColumns(&RM55_, mccTempMatrix(0, 0., mccINT, 0 ), mccTempVectorElement(&th, 2)); mccCatenateColumns(&RM56_, &RM55_, mccTempVectorElement(&th, 3)); mccCatenateColumns(&RM57_, &RM56_, mccTempVectorElement(&th, 4)); mccCatenateColumns(&RM58_, &RM57_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM59_, &RM58_, mccTempVectorElement(&th, 6)); mccCatenateColumns(&RM60_, &RM59_, mccTempVectorElement(&th, 7)); mccCatenateColumns(&RM61_, &RM60_, mccTempVectorElement(&th, 8)); mccCatenateRows(&A, &RM54_, &RM61_); /* x = A\b; */ mccRealLeftDivide(&x, &A, &b); /* P = [x(2:4)' x(6:8)']'; */ { int i_, j_; int m_=1, n_=1, cx_ = 0; double *p_RM61_; int I_RM61_=1; double *p_x; int I_x=1; m_ = mccCalcSubscriptDimensions(m_, &n_, 1, ((int)(4 - 2) + 1), &x); mccAllocateMatrix(&RM61_, m_, n_); I_RM61_ = (mccM(&RM61_) != 1 || mccN(&RM61_) != 1); p_RM61_ = mccPR(&RM61_); I_x = (mccM(&x) != 1 || mccN(&x) != 1); p_x = mccPR(&x) + ((int)(2 - .5)); if (m_ != 0) { for (j_=0; j_ P(1)) */ if (( ((mccPR(&P)[(6-1)]) > (mccPR(&P)[(1-1)])) && !mccREL_NAN((mccPR(&P)[(6-1)])) && !mccREL_NAN((mccPR(&P)[(1-1)])) )) { /* q(1) = (P(6)-P(1))/th(20); */ mccPR(&q)[(1-1)] = (((mccPR(&P)[(6-1)]) - (mccPR(&P)[(1-1)])) / (double) (mccPR(&th)[(20-1)])); } else { /* else */ /* q(1) = 0; */ mccPR(&q)[(1-1)] = 0; /* end */ } /* if (P(1) > P(2)) */ if (( ((mccPR(&P)[(1-1)]) > (mccPR(&P)[(2-1)])) && !mccREL_NAN((mccPR(&P)[(1-1)])) && !mccREL_NAN((mccPR(&P)[(2-1)])) )) { /* q(2) = (P(1)-P(2))/th(15); */ mccPR(&q)[(2-1)] = (((mccPR(&P)[(1-1)]) - (mccPR(&P)[(2-1)])) / (double) (mccPR(&th)[(15-1)])); } else { /* else */ /* q(2) = 0; */ mccPR(&q)[(2-1)] = 0; /* end */ } /* q(3) = (P(2)-P(3))/th(16); */ mccPR(&q)[(3-1)] = (((mccPR(&P)[(2-1)]) - (mccPR(&P)[(3-1)])) / (double) (mccPR(&th)[(16-1)])); /* if (P(3) > P(4)) */ if (( ((mccPR(&P)[(3-1)]) > (mccPR(&P)[(4-1)])) && !mccREL_NAN((mccPR(&P)[(3-1)])) && !mccREL_NAN((mccPR(&P)[(4-1)])) )) { /* q(4) = (P(3)-P(4))/th(17); */ mccPR(&q)[(4-1)] = (((mccPR(&P)[(3-1)]) - (mccPR(&P)[(4-1)])) / (double) (mccPR(&th)[(17-1)])); } else { /* else */ /* q(4) = 0; */ mccPR(&q)[(4-1)] = 0; /* end */ } /* if (P(4) > P(5)) */ if (( ((mccPR(&P)[(4-1)]) > (mccPR(&P)[(5-1)])) && !mccREL_NAN((mccPR(&P)[(4-1)])) && !mccREL_NAN((mccPR(&P)[(5-1)])) )) { /* q(5) = (P(4)-P(5))/th(18); */ mccPR(&q)[(5-1)] = (((mccPR(&P)[(4-1)]) - (mccPR(&P)[(5-1)])) / (double) (mccPR(&th)[(18-1)])); } else { /* else */ /* q(5) = 0; */ mccPR(&q)[(5-1)] = 0; /* end */ } /* q(6) = (P(5)-P(6))/th(19); */ mccPR(&q)[(6-1)] = (((mccPR(&P)[(5-1)]) - (mccPR(&P)[(6-1)])) / (double) (mccPR(&th)[(19-1)])); /* % Establishing initial variable ventricular elastance values. */ /* ve = [1/th(2) 1/th(6)]'; */ mccCatenateColumns(&RM57_, mccTempMatrix((1 / (double) (mccPR(&th)[(2-1)])), 0., mccREAL, 0 ), mccTempMatrix((1 / (double) (mccPR(&th)[(6-1)])), 0., mccREAL, 0 )); mccConjTrans(&ve, &RM57_); /* % Establishing initial volumes. */ /* Q = [th(2) th(3) th(4) th(6) th(7) th(8)]'.*(P(1:6)-th(23)*[1 0 0 1 1 1]') + [th(9:14)]; */ mccCatenateColumns(&RM57_, mccTempVectorElement(&th, 2), mccTempVectorElement(&th, 3)); mccCatenateColumns(&RM58_, &RM57_, mccTempVectorElement(&th, 4)); mccCatenateColumns(&RM59_, &RM58_, mccTempVectorElement(&th, 6)); mccCatenateColumns(&RM60_, &RM59_, mccTempVectorElement(&th, 7)); mccCatenateColumns(&RM61_, &RM60_, mccTempVectorElement(&th, 8)); mccConjTrans(&RM56_, &RM61_); R0_ = (mccPR(&th)[(23-1)]); mccConjTrans(&IM0_, &S269_); { int i_, j_; int m_=1, n_=1, cx_ = 0; double *p_Q; int I_Q=1; double *p_RM56_; int I_RM56_=1; double *p_P; int I_P=1; int *p_IM0_; int I_IM0_=1; double *p_th; int I_th=1; m_ = mcmCalcResultSize(m_, &n_, mccM(&RM56_), mccN(&RM56_)); m_ = mccCalcSubscriptDimensions(m_, &n_, 1, ((int)(6 - 1) + 1), &P); m_ = mcmCalcResultSize(m_, &n_, mccM(&IM0_), mccN(&IM0_)); m_ = mccCalcSubscriptDimensions(m_, &n_, 1, ((int)(14 - 9) + 1), &th); mccAllocateMatrix(&Q, m_, n_); I_Q = (mccM(&Q) != 1 || mccN(&Q) != 1); p_Q = mccPR(&Q); I_RM56_ = (mccM(&RM56_) != 1 || mccN(&RM56_) != 1); p_RM56_ = mccPR(&RM56_); I_P = (mccM(&P) != 1 || mccN(&P) != 1); p_P = mccPR(&P) + ((int)(1 - .5)); I_IM0_ = (mccM(&IM0_) != 1 || mccN(&IM0_) != 1); p_IM0_ = mccIPR(&IM0_); I_th = (mccM(&th) != 1 || mccN(&th) != 1); p_th = mccPR(&th) + ((int)(9 - .5)); if (m_ != 0) { for (j_=0; j_ * Td real scalar * Ts real scalar * alphatau real scalar * atan * b real vector/matrix * exp * mlfNac_intact_init_cond * pi * q real vector/matrix * realsqrt * temp real scalar * th real vector/matrix * v real vector/matrix * ve real vector/matrix * vent_vol * x real vector/matrix * xl real scalar * xr real scalar * yl real scalar * yr real scalar * zeros *******************************************************/ static void nac_init_cond_(mxArray *P_PP_, mxArray *Q_PP_, mxArray *q_PP_, mxArray *ve_PP_, mxArray *th_P_ ) { mxArray th; mxArray P; mxArray Q; mxArray q; mxArray ve; double Cld = 0.0; double Crd = 0.0; double Ts = 0.0; double Td = 0.0; double temp = 0.0; mxArray b; mxArray A; mxArray x; double yl = 0.0; double xl = 0.0; double yr = 0.0; double xr = 0.0; double alphatau = 0.0; double Qamax = 0.0; double Qao = 0.0; mxArray v; double R0_ = 0.0; mxArray RM0_; mxArray RM1_; mxArray RM2_; mxArray RM3_; mxArray RM4_; mxArray RM5_; mxArray RM6_; mxArray RM7_; mxArray RM8_; mxArray RM9_; mxArray RM10_; mxArray RM11_; mxArray RM12_; mxArray RM13_; mxArray RM14_; mxArray RM15_; mxArray RM16_; mxArray RM17_; mxArray RM18_; mxArray RM19_; mxArray RM20_; mxArray RM21_; mxArray RM22_; mxArray RM23_; mxArray RM24_; mxArray RM25_; mxArray RM26_; mxArray RM27_; mxArray RM28_; mxArray RM29_; mxArray RM30_; mxArray RM31_; mxArray RM32_; mxArray RM33_; mxArray RM34_; mxArray RM35_; mxArray RM36_; mxArray RM37_; mxArray RM38_; mxArray RM39_; mxArray RM40_; mxArray RM41_; mxArray RM42_; mxArray RM43_; mxArray RM44_; mxArray RM45_; mxArray RM46_; mxArray RM47_; mxArray RM48_; mxArray RM49_; mxArray RM50_; mxArray RM51_; mxArray RM52_; mxArray RM53_; mxArray RM54_; mxArray RM55_; mxArray RM56_; mxArray RM57_; mxArray RM58_; mxArray RM59_; mxArray RM60_; mxArray RM61_; mxArray IM0_; double R1_ = 0.0; double R2_ = 0.0; mccRealInit(th); mccCopy(&th, th_P_); mccRealInit(P); mccRealInit(Q); mccRealInit(q); mccRealInit(ve); mccRealInit(b); mccRealInit(A); mccRealInit(x); mccRealInit(v); mccRealInit(RM0_); mccRealInit(RM1_); mccRealInit(RM2_); mccRealInit(RM3_); mccRealInit(RM4_); mccRealInit(RM5_); mccRealInit(RM6_); mccRealInit(RM7_); mccRealInit(RM8_); mccRealInit(RM9_); mccRealInit(RM10_); mccRealInit(RM11_); mccRealInit(RM12_); mccRealInit(RM13_); mccRealInit(RM14_); mccRealInit(RM15_); mccRealInit(RM16_); mccRealInit(RM17_); mccRealInit(RM18_); mccRealInit(RM19_); mccRealInit(RM20_); mccRealInit(RM21_); mccRealInit(RM22_); mccRealInit(RM23_); mccRealInit(RM24_); mccRealInit(RM25_); mccRealInit(RM26_); mccRealInit(RM27_); mccRealInit(RM28_); mccRealInit(RM29_); mccRealInit(RM30_); mccRealInit(RM31_); mccRealInit(RM32_); mccRealInit(RM33_); mccRealInit(RM34_); mccRealInit(RM35_); mccRealInit(RM36_); mccRealInit(RM37_); mccRealInit(RM38_); mccRealInit(RM39_); mccRealInit(RM40_); mccRealInit(RM41_); mccRealInit(RM42_); mccRealInit(RM43_); mccRealInit(RM44_); mccRealInit(RM45_); mccRealInit(RM46_); mccRealInit(RM47_); mccRealInit(RM48_); mccRealInit(RM49_); mccRealInit(RM50_); mccRealInit(RM51_); mccRealInit(RM52_); mccRealInit(RM53_); mccRealInit(RM54_); mccRealInit(RM55_); mccRealInit(RM56_); mccRealInit(RM57_); mccRealInit(RM58_); mccRealInit(RM59_); mccRealInit(RM60_); mccRealInit(RM61_); mccIntInit(IM0_); /* % Storing nonlinear ventricular compliance values for */ /* % subsequent initial ventricular volume calculation. */ /* Cld = th(2); */ Cld = (mccPR(&th)[(2-1)]); /* Crd = th(6); */ Crd = (mccPR(&th)[(6-1)]); /* % Converting ventricular compliances to linear values which */ /* % is necessary for estimating initial pressures. */ /* th(1) = th(1)*((th(26)-th(9))/th(31)); */ mccPR(&th)[(1-1)] = ((mccPR(&th)[(1-1)]) * (double) (((mccPR(&th)[(26-1)]) - (mccPR(&th)[(9-1)])) / (double) (mccPR(&th)[(31-1)]))); /* th(2) = th(2)*((th(26)-th(9))/th(31)); */ mccPR(&th)[(2-1)] = ((mccPR(&th)[(2-1)]) * (double) (((mccPR(&th)[(26-1)]) - (mccPR(&th)[(9-1)])) / (double) (mccPR(&th)[(31-1)]))); /* th(5) = th(5)*((th(27)-th(12))/th(32)); */ mccPR(&th)[(5-1)] = ((mccPR(&th)[(5-1)]) * (double) (((mccPR(&th)[(27-1)]) - (mccPR(&th)[(12-1)])) / (double) (mccPR(&th)[(32-1)]))); /* th(6) = th(6)*((th(27)-th(12))/th(32)); */ mccPR(&th)[(6-1)] = ((mccPR(&th)[(6-1)]) * (double) (((mccPR(&th)[(27-1)]) - (mccPR(&th)[(12-1)])) / (double) (mccPR(&th)[(32-1)]))); /* % Estimating initial pressures. */ /* Ts = .3*sqrt(1/th(22)); */ R0_ = sqrt((1 / (double) (mccPR(&th)[(22-1)]))); Ts = (.3 * (double) R0_); /* Td = 1/th(22) - Ts; */ Td = ((1 / (double) (mccPR(&th)[(22-1)])) - Ts); /* temp = -th(2)*th(23) + th(1)*th(23); */ temp = (((-(mccPR(&th)[(2-1)])) * (double) (mccPR(&th)[(23-1)])) + ((mccPR(&th)[(1-1)]) * (double) (mccPR(&th)[(23-1)]))); /* b = [temp+th(6)*th(23)-th(5)*th(23); */ mccCatenateRows(&RM0_, mccTempMatrix(((temp + ((mccPR(&th)[(6-1)]) * (double) (mccPR(&th)[(23-1)]))) - ((mccPR(&th)[(5-1)]) * (double) (mccPR(&th)[(23-1)]))), 0., mccREAL, 0 ), mccTempMatrix(temp, 0., mccREAL, 0 )); mccCatenateRows(&RM1_, &RM0_, mccTempMatrix(temp, 0., mccREAL, 0 )); mccCatenateRows(&RM2_, &RM1_, mccTempMatrix(temp, 0., mccREAL, 0 )); mccCatenateRows(&RM3_, &RM2_, mccTempMatrix(temp, 0., mccREAL, 0 )); mccCatenateRows(&RM4_, &RM3_, mccTempMatrix(temp, 0., mccREAL, 0 )); mccCatenateRows(&RM5_, &RM4_, mccTempMatrix(temp, 0., mccREAL, 0 )); mccCatenateRows(&b, &RM5_, mccTempMatrix(((((((mccPR(&th)[(21-1)]) - ((((((mccPR(&th)[(14-1)]) + (mccPR(&th)[(13-1)])) + (mccPR(&th)[(12-1)])) + (mccPR(&th)[(11-1)])) + (mccPR(&th)[(10-1)])) + (mccPR(&th)[(9-1)]))) + ((mccPR(&th)[(2-1)]) * (double) (mccPR(&th)[(23-1)]))) + ((mccPR(&th)[(6-1)]) * (double) (mccPR(&th)[(23-1)]))) + ((mccPR(&th)[(7-1)]) * (double) (mccPR(&th)[(23-1)]))) + ((mccPR(&th)[(8-1)]) * (double) (mccPR(&th)[(23-1)]))), 0., mccREAL, 0 )); /* A = [th(1), -th(2), 0, 0, -th(5), th(6), 0, 0; */ mccCatenateColumns(&RM5_, mccTempVectorElement(&th, 1), mccTempMatrix((-(mccPR(&th)[(2-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM4_, &RM5_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM3_, &RM4_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM2_, &RM3_, mccTempMatrix((-(mccPR(&th)[(5-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM1_, &RM2_, mccTempVectorElement(&th, 6)); mccCatenateColumns(&RM0_, &RM1_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM6_, &RM0_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM7_, mccTempMatrix(((mccPR(&th)[(1-1)]) + (Ts / (double) (mccPR(&th)[(15-1)]))), 0., mccREAL, 0 ), mccTempMatrix((-(mccPR(&th)[(2-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM8_, &RM7_, mccTempMatrix(((-Ts) / (double) (mccPR(&th)[(15-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM9_, &RM8_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM10_, &RM9_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM11_, &RM10_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM12_, &RM11_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM13_, &RM12_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateRows(&RM14_, &RM6_, &RM13_); mccCatenateColumns(&RM15_, mccTempVectorElement(&th, 1), mccTempMatrix((-(mccPR(&th)[(2-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM16_, &RM15_, mccTempMatrix((1 / (double) ((mccPR(&th)[(22-1)]) * (double) (mccPR(&th)[(16-1)]))), 0., mccREAL, 0 )); mccCatenateColumns(&RM17_, &RM16_, mccTempMatrix(( -1 / (double) ((mccPR(&th)[(22-1)]) * (double) (mccPR(&th)[(16-1)]))), 0., mccREAL, 0 )); mccCatenateColumns(&RM18_, &RM17_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM19_, &RM18_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM20_, &RM19_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM21_, &RM20_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateRows(&RM22_, &RM14_, &RM21_); mccCatenateColumns(&RM23_, mccTempVectorElement(&th, 1), mccTempMatrix((-(mccPR(&th)[(2-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM24_, &RM23_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM25_, &RM24_, mccTempMatrix((Td / (double) (mccPR(&th)[(17-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM26_, &RM25_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM27_, &RM26_, mccTempMatrix(((-Td) / (double) (mccPR(&th)[(17-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM28_, &RM27_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM29_, &RM28_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateRows(&RM30_, &RM22_, &RM29_); mccCatenateColumns(&RM31_, mccTempVectorElement(&th, 1), mccTempMatrix((-(mccPR(&th)[(2-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM32_, &RM31_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM33_, &RM32_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM34_, &RM33_, mccTempMatrix((Ts / (double) (mccPR(&th)[(18-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM35_, &RM34_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM36_, &RM35_, mccTempMatrix(((-Ts) / (double) (mccPR(&th)[(18-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM37_, &RM36_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateRows(&RM38_, &RM30_, &RM37_); mccCatenateColumns(&RM39_, mccTempVectorElement(&th, 1), mccTempMatrix((-(mccPR(&th)[(2-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM40_, &RM39_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM41_, &RM40_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM42_, &RM41_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM43_, &RM42_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM44_, &RM43_, mccTempMatrix((1 / (double) ((mccPR(&th)[(22-1)]) * (double) (mccPR(&th)[(19-1)]))), 0., mccREAL, 0 )); mccCatenateColumns(&RM45_, &RM44_, mccTempMatrix(( -1 / (double) ((mccPR(&th)[(22-1)]) * (double) (mccPR(&th)[(19-1)]))), 0., mccREAL, 0 )); mccCatenateRows(&RM46_, &RM38_, &RM45_); mccCatenateColumns(&RM47_, mccTempVectorElement(&th, 1), mccTempMatrix((-((mccPR(&th)[(2-1)]) + (Td / (double) (mccPR(&th)[(20-1)])))), 0., mccREAL, 0 )); mccCatenateColumns(&RM48_, &RM47_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM49_, &RM48_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM50_, &RM49_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM51_, &RM50_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM52_, &RM51_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM53_, &RM52_, mccTempMatrix((Td / (double) (mccPR(&th)[(20-1)])), 0., mccREAL, 0 )); mccCatenateRows(&RM54_, &RM46_, &RM53_); mccCatenateColumns(&RM55_, mccTempMatrix(0, 0., mccINT, 0 ), mccTempVectorElement(&th, 2)); mccCatenateColumns(&RM56_, &RM55_, mccTempVectorElement(&th, 3)); mccCatenateColumns(&RM57_, &RM56_, mccTempVectorElement(&th, 4)); mccCatenateColumns(&RM58_, &RM57_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM59_, &RM58_, mccTempVectorElement(&th, 6)); mccCatenateColumns(&RM60_, &RM59_, mccTempVectorElement(&th, 7)); mccCatenateColumns(&RM61_, &RM60_, mccTempVectorElement(&th, 8)); mccCatenateRows(&A, &RM54_, &RM61_); /* x = A\b; */ mccRealLeftDivide(&x, &A, &b); /* P = [x(2:4)' x(6:8)']'; */ { int i_, j_; int m_=1, n_=1, cx_ = 0; double *p_RM61_; int I_RM61_=1; double *p_x; int I_x=1; m_ = mccCalcSubscriptDimensions(m_, &n_, 1, ((int)(4 - 2) + 1), &x); mccAllocateMatrix(&RM61_, m_, n_); I_RM61_ = (mccM(&RM61_) != 1 || mccN(&RM61_) != 1); p_RM61_ = mccPR(&RM61_); I_x = (mccM(&x) != 1 || mccN(&x) != 1); p_x = mccPR(&x) + ((int)(2 - .5)); if (m_ != 0) { for (j_=0; j_ P(1)) */ if (( ((mccPR(&P)[(6-1)]) > (mccPR(&P)[(1-1)])) && !mccREL_NAN((mccPR(&P)[(6-1)])) && !mccREL_NAN((mccPR(&P)[(1-1)])) )) { /* q(1) = (P(6)-P(1))/th(20); */ mccPR(&q)[(1-1)] = (((mccPR(&P)[(6-1)]) - (mccPR(&P)[(1-1)])) / (double) (mccPR(&th)[(20-1)])); } else { /* else */ /* q(1) = 0; */ mccPR(&q)[(1-1)] = 0; /* end */ } /* if (P(1) > P(2)) */ if (( ((mccPR(&P)[(1-1)]) > (mccPR(&P)[(2-1)])) && !mccREL_NAN((mccPR(&P)[(1-1)])) && !mccREL_NAN((mccPR(&P)[(2-1)])) )) { /* q(2) = (P(1)-P(2))/th(15); */ mccPR(&q)[(2-1)] = (((mccPR(&P)[(1-1)]) - (mccPR(&P)[(2-1)])) / (double) (mccPR(&th)[(15-1)])); } else { /* else */ /* q(2) = 0; */ mccPR(&q)[(2-1)] = 0; /* end */ } /* q(3) = (P(2)-P(3))/th(16); */ mccPR(&q)[(3-1)] = (((mccPR(&P)[(2-1)]) - (mccPR(&P)[(3-1)])) / (double) (mccPR(&th)[(16-1)])); /* if (P(3) > P(4)) */ if (( ((mccPR(&P)[(3-1)]) > (mccPR(&P)[(4-1)])) && !mccREL_NAN((mccPR(&P)[(3-1)])) && !mccREL_NAN((mccPR(&P)[(4-1)])) )) { /* q(4) = (P(3)-P(4))/th(17); */ mccPR(&q)[(4-1)] = (((mccPR(&P)[(3-1)]) - (mccPR(&P)[(4-1)])) / (double) (mccPR(&th)[(17-1)])); } else { /* else */ /* q(4) = 0; */ mccPR(&q)[(4-1)] = 0; /* end */ } /* if (P(4) > P(5)) */ if (( ((mccPR(&P)[(4-1)]) > (mccPR(&P)[(5-1)])) && !mccREL_NAN((mccPR(&P)[(4-1)])) && !mccREL_NAN((mccPR(&P)[(5-1)])) )) { /* q(5) = (P(4)-P(5))/th(18); */ mccPR(&q)[(5-1)] = (((mccPR(&P)[(4-1)]) - (mccPR(&P)[(5-1)])) / (double) (mccPR(&th)[(18-1)])); } else { /* else */ /* q(5) = 0; */ mccPR(&q)[(5-1)] = 0; /* end */ } /* q(6) = (P(5)-P(6))/th(19); */ mccPR(&q)[(6-1)] = (((mccPR(&P)[(5-1)]) - (mccPR(&P)[(6-1)])) / (double) (mccPR(&th)[(19-1)])); /* % Establishing initial variable ventricular elastance values. */ /* ve = [1/th(2) 1/th(6)]'; */ mccCatenateColumns(&RM57_, mccTempMatrix((1 / (double) (mccPR(&th)[(2-1)])), 0., mccREAL, 0 ), mccTempMatrix((1 / (double) (mccPR(&th)[(6-1)])), 0., mccREAL, 0 )); mccConjTrans(&ve, &RM57_); /* % Establishing initial volumes. */ /* Q = [th(2) th(3) th(4) th(6) th(7) th(8)]'.*(P(1:6)-th(23)*[1 0 0 1 1 1]') + [th(9:14)]; */ mccCatenateColumns(&RM57_, mccTempVectorElement(&th, 2), mccTempVectorElement(&th, 3)); mccCatenateColumns(&RM58_, &RM57_, mccTempVectorElement(&th, 4)); mccCatenateColumns(&RM59_, &RM58_, mccTempVectorElement(&th, 6)); mccCatenateColumns(&RM60_, &RM59_, mccTempVectorElement(&th, 7)); mccCatenateColumns(&RM61_, &RM60_, mccTempVectorElement(&th, 8)); mccConjTrans(&RM56_, &RM61_); R0_ = (mccPR(&th)[(23-1)]); mccConjTrans(&IM0_, &S270_); { int i_, j_; int m_=1, n_=1, cx_ = 0; double *p_Q; int I_Q=1; double *p_RM56_; int I_RM56_=1; double *p_P; int I_P=1; int *p_IM0_; int I_IM0_=1; double *p_th; int I_th=1; m_ = mcmCalcResultSize(m_, &n_, mccM(&RM56_), mccN(&RM56_)); m_ = mccCalcSubscriptDimensions(m_, &n_, 1, ((int)(6 - 1) + 1), &P); m_ = mcmCalcResultSize(m_, &n_, mccM(&IM0_), mccN(&IM0_)); m_ = mccCalcSubscriptDimensions(m_, &n_, 1, ((int)(14 - 9) + 1), &th); mccAllocateMatrix(&Q, m_, n_); I_Q = (mccM(&Q) != 1 || mccN(&Q) != 1); p_Q = mccPR(&Q); I_RM56_ = (mccM(&RM56_) != 1 || mccN(&RM56_) != 1); p_RM56_ = mccPR(&RM56_); I_P = (mccM(&P) != 1 || mccN(&P) != 1); p_P = mccPR(&P) + ((int)(1 - .5)); I_IM0_ = (mccM(&IM0_) != 1 || mccN(&IM0_) != 1); p_IM0_ = mccIPR(&IM0_); I_th = (mccM(&th) != 1 || mccN(&th) != 1); p_th = mccPR(&th) + ((int)(9 - .5)); if (m_ != 0) { for (j_=0; j_ * Td real scalar * Ts real scalar * atan * b real vector/matrix * pi * q real vector/matrix * realsqrt * temp real scalar * th real vector/matrix * third_init_cond_ * ve real vector/matrix * vent_vol * x real vector/matrix * xl real scalar * xr real scalar * yl real scalar * yr real scalar * zeros *******************************************************/ static void third_init_cond_(mxArray *P_PP_, mxArray *Q_PP_, mxArray *q_PP_, mxArray *ve_PP_, mxArray *th_P_ ) { mxArray th; mxArray P; mxArray Q; mxArray q; mxArray ve; double Cld = 0.0; double Crd = 0.0; double Ts = 0.0; double Td = 0.0; double temp = 0.0; mxArray b; mxArray A; mxArray x; double yl = 0.0; double xl = 0.0; double yr = 0.0; double xr = 0.0; double R0_ = 0.0; mxArray RM0_; mxArray RM1_; mxArray RM2_; mxArray RM3_; mxArray RM4_; mxArray RM5_; mxArray RM6_; mxArray RM7_; mxArray RM8_; mxArray RM9_; mxArray RM10_; mxArray RM11_; mxArray RM12_; mxArray RM13_; mxArray RM14_; mxArray RM15_; mxArray RM16_; mxArray RM17_; mxArray RM18_; mxArray RM19_; mxArray RM20_; mxArray RM21_; mxArray RM22_; mxArray RM23_; mxArray RM24_; mxArray RM25_; mxArray RM26_; mxArray RM27_; mxArray RM28_; mxArray RM29_; mxArray RM30_; mxArray RM31_; mxArray RM32_; mxArray RM33_; mxArray RM34_; mxArray RM35_; mxArray RM36_; mxArray RM37_; mxArray RM38_; mxArray RM39_; mxArray RM40_; mxArray RM41_; mxArray RM42_; mxArray RM43_; mxArray RM44_; mxArray RM45_; mxArray RM46_; mxArray RM47_; mxArray RM48_; mxArray RM49_; mxArray RM50_; mxArray RM51_; mxArray RM52_; mxArray RM53_; mxArray RM54_; mxArray RM55_; mxArray RM56_; mxArray RM57_; mxArray RM58_; mxArray RM59_; mxArray RM60_; mxArray RM61_; mxArray IM0_; double R1_ = 0.0; double R2_ = 0.0; mccRealInit(th); mccCopy(&th, th_P_); mccRealInit(P); mccRealInit(Q); mccRealInit(q); mccRealInit(ve); mccRealInit(b); mccRealInit(A); mccRealInit(x); mccRealInit(RM0_); mccRealInit(RM1_); mccRealInit(RM2_); mccRealInit(RM3_); mccRealInit(RM4_); mccRealInit(RM5_); mccRealInit(RM6_); mccRealInit(RM7_); mccRealInit(RM8_); mccRealInit(RM9_); mccRealInit(RM10_); mccRealInit(RM11_); mccRealInit(RM12_); mccRealInit(RM13_); mccRealInit(RM14_); mccRealInit(RM15_); mccRealInit(RM16_); mccRealInit(RM17_); mccRealInit(RM18_); mccRealInit(RM19_); mccRealInit(RM20_); mccRealInit(RM21_); mccRealInit(RM22_); mccRealInit(RM23_); mccRealInit(RM24_); mccRealInit(RM25_); mccRealInit(RM26_); mccRealInit(RM27_); mccRealInit(RM28_); mccRealInit(RM29_); mccRealInit(RM30_); mccRealInit(RM31_); mccRealInit(RM32_); mccRealInit(RM33_); mccRealInit(RM34_); mccRealInit(RM35_); mccRealInit(RM36_); mccRealInit(RM37_); mccRealInit(RM38_); mccRealInit(RM39_); mccRealInit(RM40_); mccRealInit(RM41_); mccRealInit(RM42_); mccRealInit(RM43_); mccRealInit(RM44_); mccRealInit(RM45_); mccRealInit(RM46_); mccRealInit(RM47_); mccRealInit(RM48_); mccRealInit(RM49_); mccRealInit(RM50_); mccRealInit(RM51_); mccRealInit(RM52_); mccRealInit(RM53_); mccRealInit(RM54_); mccRealInit(RM55_); mccRealInit(RM56_); mccRealInit(RM57_); mccRealInit(RM58_); mccRealInit(RM59_); mccRealInit(RM60_); mccRealInit(RM61_); mccIntInit(IM0_); /* % Storing nonlinear ventricular compliance values for */ /* % subsequent initial ventricular volume calculation. */ /* Cld = th(2); */ Cld = (mccPR(&th)[(2-1)]); /* Crd = th(6); */ Crd = (mccPR(&th)[(6-1)]); /* % Converting ventricular compliances to linear values which */ /* % is necessary for estimating initial pressures. */ /* th(1) = th(1)*((th(26)-th(9))/th(31)); */ mccPR(&th)[(1-1)] = ((mccPR(&th)[(1-1)]) * (double) (((mccPR(&th)[(26-1)]) - (mccPR(&th)[(9-1)])) / (double) (mccPR(&th)[(31-1)]))); /* th(2) = th(2)*((th(26)-th(9))/th(31)); */ mccPR(&th)[(2-1)] = ((mccPR(&th)[(2-1)]) * (double) (((mccPR(&th)[(26-1)]) - (mccPR(&th)[(9-1)])) / (double) (mccPR(&th)[(31-1)]))); /* th(5) = th(5)*((th(27)-th(12))/th(32)); */ mccPR(&th)[(5-1)] = ((mccPR(&th)[(5-1)]) * (double) (((mccPR(&th)[(27-1)]) - (mccPR(&th)[(12-1)])) / (double) (mccPR(&th)[(32-1)]))); /* th(6) = th(6)*((th(27)-th(12))/th(32)); */ mccPR(&th)[(6-1)] = ((mccPR(&th)[(6-1)]) * (double) (((mccPR(&th)[(27-1)]) - (mccPR(&th)[(12-1)])) / (double) (mccPR(&th)[(32-1)]))); /* % Estimating initial pressures and qe. */ /* Ts = .3*sqrt(1/th(22)); */ R0_ = sqrt((1 / (double) (mccPR(&th)[(22-1)]))); Ts = (.3 * (double) R0_); /* Td = 1/th(22) - Ts; */ Td = ((1 / (double) (mccPR(&th)[(22-1)])) - Ts); /* temp = -th(2)*th(23) + th(1)*th(23); */ temp = (((-(mccPR(&th)[(2-1)])) * (double) (mccPR(&th)[(23-1)])) + ((mccPR(&th)[(1-1)]) * (double) (mccPR(&th)[(23-1)]))); /* b = [temp+th(6)*th(23)-th(5)*th(23); */ mccCatenateRows(&RM0_, mccTempMatrix(((temp + ((mccPR(&th)[(6-1)]) * (double) (mccPR(&th)[(23-1)]))) - ((mccPR(&th)[(5-1)]) * (double) (mccPR(&th)[(23-1)]))), 0., mccREAL, 0 ), mccTempMatrix(temp, 0., mccREAL, 0 )); mccCatenateRows(&RM1_, &RM0_, mccTempMatrix(temp, 0., mccREAL, 0 )); mccCatenateRows(&RM2_, &RM1_, mccTempMatrix(temp, 0., mccREAL, 0 )); mccCatenateRows(&RM3_, &RM2_, mccTempMatrix(temp, 0., mccREAL, 0 )); mccCatenateRows(&RM4_, &RM3_, mccTempMatrix(temp, 0., mccREAL, 0 )); mccCatenateRows(&RM5_, &RM4_, mccTempMatrix(temp, 0., mccREAL, 0 )); mccCatenateRows(&b, &RM5_, mccTempMatrix(((((((mccPR(&th)[(21-1)]) - ((((((mccPR(&th)[(14-1)]) + (mccPR(&th)[(13-1)])) + (mccPR(&th)[(12-1)])) + (mccPR(&th)[(11-1)])) + (mccPR(&th)[(10-1)])) + (mccPR(&th)[(9-1)]))) + ((mccPR(&th)[(2-1)]) * (double) (mccPR(&th)[(23-1)]))) + ((mccPR(&th)[(6-1)]) * (double) (mccPR(&th)[(23-1)]))) + ((mccPR(&th)[(7-1)]) * (double) (mccPR(&th)[(23-1)]))) + ((mccPR(&th)[(8-1)]) * (double) (mccPR(&th)[(23-1)]))), 0., mccREAL, 0 )); /* A = [th(1), -th(2), 0, 0, -th(5), th(6), 0, 0; */ mccCatenateColumns(&RM5_, mccTempVectorElement(&th, 1), mccTempMatrix((-(mccPR(&th)[(2-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM4_, &RM5_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM3_, &RM4_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM2_, &RM3_, mccTempMatrix((-(mccPR(&th)[(5-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM1_, &RM2_, mccTempVectorElement(&th, 6)); mccCatenateColumns(&RM0_, &RM1_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM6_, &RM0_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM7_, mccTempMatrix(((mccPR(&th)[(1-1)]) + (Ts / (double) (mccPR(&th)[(15-1)]))), 0., mccREAL, 0 ), mccTempMatrix((-(mccPR(&th)[(2-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM8_, &RM7_, mccTempMatrix(((-Ts) / (double) (mccPR(&th)[(15-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM9_, &RM8_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM10_, &RM9_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM11_, &RM10_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM12_, &RM11_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM13_, &RM12_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateRows(&RM14_, &RM6_, &RM13_); mccCatenateColumns(&RM15_, mccTempVectorElement(&th, 1), mccTempMatrix((-(mccPR(&th)[(2-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM16_, &RM15_, mccTempMatrix((1 / (double) ((mccPR(&th)[(22-1)]) * (double) (mccPR(&th)[(16-1)]))), 0., mccREAL, 0 )); mccCatenateColumns(&RM17_, &RM16_, mccTempMatrix(( -1 / (double) ((mccPR(&th)[(22-1)]) * (double) (mccPR(&th)[(16-1)]))), 0., mccREAL, 0 )); mccCatenateColumns(&RM18_, &RM17_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM19_, &RM18_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM20_, &RM19_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM21_, &RM20_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateRows(&RM22_, &RM14_, &RM21_); mccCatenateColumns(&RM23_, mccTempVectorElement(&th, 1), mccTempMatrix((-(mccPR(&th)[(2-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM24_, &RM23_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM25_, &RM24_, mccTempMatrix((Td / (double) (mccPR(&th)[(17-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM26_, &RM25_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM27_, &RM26_, mccTempMatrix(((-Td) / (double) (mccPR(&th)[(17-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM28_, &RM27_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM29_, &RM28_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateRows(&RM30_, &RM22_, &RM29_); mccCatenateColumns(&RM31_, mccTempVectorElement(&th, 1), mccTempMatrix((-(mccPR(&th)[(2-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM32_, &RM31_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM33_, &RM32_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM34_, &RM33_, mccTempMatrix((Ts / (double) (mccPR(&th)[(18-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM35_, &RM34_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM36_, &RM35_, mccTempMatrix(((-Ts) / (double) (mccPR(&th)[(18-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM37_, &RM36_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateRows(&RM38_, &RM30_, &RM37_); mccCatenateColumns(&RM39_, mccTempVectorElement(&th, 1), mccTempMatrix((-(mccPR(&th)[(2-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM40_, &RM39_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM41_, &RM40_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM42_, &RM41_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM43_, &RM42_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM44_, &RM43_, mccTempMatrix((1 / (double) ((mccPR(&th)[(22-1)]) * (double) (mccPR(&th)[(19-1)]))), 0., mccREAL, 0 )); mccCatenateColumns(&RM45_, &RM44_, mccTempMatrix(( -1 / (double) ((mccPR(&th)[(22-1)]) * (double) (mccPR(&th)[(19-1)]))), 0., mccREAL, 0 )); mccCatenateRows(&RM46_, &RM38_, &RM45_); mccCatenateColumns(&RM47_, mccTempVectorElement(&th, 1), mccTempMatrix((-((mccPR(&th)[(2-1)]) + (Td / (double) (mccPR(&th)[(20-1)])))), 0., mccREAL, 0 )); mccCatenateColumns(&RM48_, &RM47_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM49_, &RM48_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM50_, &RM49_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM51_, &RM50_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM52_, &RM51_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM53_, &RM52_, mccTempMatrix((Td / (double) (mccPR(&th)[(20-1)])), 0., mccREAL, 0 )); mccCatenateRows(&RM54_, &RM46_, &RM53_); mccCatenateColumns(&RM55_, mccTempMatrix(0, 0., mccINT, 0 ), mccTempVectorElement(&th, 2)); mccCatenateColumns(&RM56_, &RM55_, mccTempMatrix(((mccPR(&th)[(72-1)]) + (mccPR(&th)[(73-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM57_, &RM56_, mccTempVectorElement(&th, 4)); mccCatenateColumns(&RM58_, &RM57_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM59_, &RM58_, mccTempVectorElement(&th, 6)); mccCatenateColumns(&RM60_, &RM59_, mccTempVectorElement(&th, 7)); mccCatenateColumns(&RM61_, &RM60_, mccTempVectorElement(&th, 8)); mccCatenateRows(&A, &RM54_, &RM61_); /* x = A\b; */ mccRealLeftDivide(&x, &A, &b); /* P = [x(2:4)' x(6:8)' x(3) 0]'; */ { int i_, j_; int m_=1, n_=1, cx_ = 0; double *p_RM61_; int I_RM61_=1; double *p_x; int I_x=1; m_ = mccCalcSubscriptDimensions(m_, &n_, 1, ((int)(4 - 2) + 1), &x); mccAllocateMatrix(&RM61_, m_, n_); I_RM61_ = (mccM(&RM61_) != 1 || mccN(&RM61_) != 1); p_RM61_ = mccPR(&RM61_); I_x = (mccM(&x) != 1 || mccN(&x) != 1); p_x = mccPR(&x) + ((int)(2 - .5)); if (m_ != 0) { for (j_=0; j_ P(1)) */ if (( ((mccPR(&P)[(6-1)]) > (mccPR(&P)[(1-1)])) && !mccREL_NAN((mccPR(&P)[(6-1)])) && !mccREL_NAN((mccPR(&P)[(1-1)])) )) { /* q(1) = (P(6)-P(1))/th(20); */ mccPR(&q)[(1-1)] = (((mccPR(&P)[(6-1)]) - (mccPR(&P)[(1-1)])) / (double) (mccPR(&th)[(20-1)])); } else { /* else */ /* q(1) = 0; */ mccPR(&q)[(1-1)] = 0; /* end */ } /* if (P(1) > P(2)) */ if (( ((mccPR(&P)[(1-1)]) > (mccPR(&P)[(2-1)])) && !mccREL_NAN((mccPR(&P)[(1-1)])) && !mccREL_NAN((mccPR(&P)[(2-1)])) )) { /* q(2) = (P(1)-P(2))/th(15); */ mccPR(&q)[(2-1)] = (((mccPR(&P)[(1-1)]) - (mccPR(&P)[(2-1)])) / (double) (mccPR(&th)[(15-1)])); } else { /* else */ /* q(2) = 0; */ mccPR(&q)[(2-1)] = 0; /* end */ } /* q(3) = (P(7)-P(3))/th(16); */ mccPR(&q)[(3-1)] = (((mccPR(&P)[(7-1)]) - (mccPR(&P)[(3-1)])) / (double) (mccPR(&th)[(16-1)])); /* if (P(3) > P(4)) */ if (( ((mccPR(&P)[(3-1)]) > (mccPR(&P)[(4-1)])) && !mccREL_NAN((mccPR(&P)[(3-1)])) && !mccREL_NAN((mccPR(&P)[(4-1)])) )) { /* q(4) = (P(3)-P(4))/th(17); */ mccPR(&q)[(4-1)] = (((mccPR(&P)[(3-1)]) - (mccPR(&P)[(4-1)])) / (double) (mccPR(&th)[(17-1)])); } else { /* else */ /* q(4) = 0; */ mccPR(&q)[(4-1)] = 0; /* end */ } /* if (P(4) > P(5)) */ if (( ((mccPR(&P)[(4-1)]) > (mccPR(&P)[(5-1)])) && !mccREL_NAN((mccPR(&P)[(4-1)])) && !mccREL_NAN((mccPR(&P)[(5-1)])) )) { /* q(5) = (P(4)-P(5))/th(18); */ mccPR(&q)[(5-1)] = (((mccPR(&P)[(4-1)]) - (mccPR(&P)[(5-1)])) / (double) (mccPR(&th)[(18-1)])); } else { /* else */ /* q(5) = 0; */ mccPR(&q)[(5-1)] = 0; /* end */ } /* q(6) = (P(5)-P(6))/th(19); */ mccPR(&q)[(6-1)] = (((mccPR(&P)[(5-1)]) - (mccPR(&P)[(6-1)])) / (double) (mccPR(&th)[(19-1)])); /* % Establishing initial variable ventricular elastance values. */ /* ve = [1/th(2) 1/th(6)]'; */ mccCatenateColumns(&RM55_, mccTempMatrix((1 / (double) (mccPR(&th)[(2-1)])), 0., mccREAL, 0 ), mccTempMatrix((1 / (double) (mccPR(&th)[(6-1)])), 0., mccREAL, 0 )); mccConjTrans(&ve, &RM55_); /* % Establishing initial volumes. */ /* Q = [th(2) th(72) th(4) th(6) th(7) th(8) th(73)]'.*(P(1:7)-th(23)*[1 0 0 1 1 1 0]') + [th(9); th(74); th(11:14); th(75)]; */ mccCatenateColumns(&RM55_, mccTempVectorElement(&th, 2), mccTempVectorElement(&th, 72)); mccCatenateColumns(&RM56_, &RM55_, mccTempVectorElement(&th, 4)); mccCatenateColumns(&RM57_, &RM56_, mccTempVectorElement(&th, 6)); mccCatenateColumns(&RM58_, &RM57_, mccTempVectorElement(&th, 7)); mccCatenateColumns(&RM59_, &RM58_, mccTempVectorElement(&th, 8)); mccCatenateColumns(&RM60_, &RM59_, mccTempVectorElement(&th, 73)); mccConjTrans(&RM61_, &RM60_); R0_ = (mccPR(&th)[(23-1)]); mccConjTrans(&IM0_, &S271_); mccCatenateRows(&RM54_, mccTempVectorElement(&th, 9), mccTempVectorElement(&th, 74)); { int i_, j_; int m_=1, n_=1, cx_ = 0; double *p_RM53_; int I_RM53_=1; double *p_th; int I_th=1; m_ = mccCalcSubscriptDimensions(m_, &n_, 1, ((int)(14 - 11) + 1), &th); mccAllocateMatrix(&RM53_, m_, n_); I_RM53_ = (mccM(&RM53_) != 1 || mccN(&RM53_) != 1); p_RM53_ = mccPR(&RM53_); I_th = (mccM(&th) != 1 || mccN(&th) != 1); p_th = mccPR(&th) + ((int)(11 - .5)); if (m_ != 0) { for (j_=0; j_ * Td real scalar * Ts real scalar * alphatau real scalar * atan * b real vector/matrix * exp * pi * q real vector/matrix * realsqrt * temp real scalar * th real vector/matrix * third_nac_init_cond_ * v real vector/matrix * ve real vector/matrix * vent_vol * x real vector/matrix * xl real scalar * xr real scalar * yl real scalar * yr real scalar * zeros *******************************************************/ static void third_nac_init_cond_(mxArray *P_PP_, mxArray *Q_PP_, mxArray *q_PP_, mxArray *ve_PP_, mxArray *th_P_ ) { mxArray th; mxArray P; mxArray Q; mxArray q; mxArray ve; double Cld = 0.0; double Crd = 0.0; double Ts = 0.0; double Td = 0.0; double temp = 0.0; mxArray b; mxArray A; mxArray x; double yl = 0.0; double xl = 0.0; double yr = 0.0; double xr = 0.0; double alphatau = 0.0; double Qamax = 0.0; double Qao = 0.0; mxArray v; double R0_ = 0.0; mxArray RM0_; mxArray RM1_; mxArray RM2_; mxArray RM3_; mxArray RM4_; mxArray RM5_; mxArray RM6_; mxArray RM7_; mxArray RM8_; mxArray RM9_; mxArray RM10_; mxArray RM11_; mxArray RM12_; mxArray RM13_; mxArray RM14_; mxArray RM15_; mxArray RM16_; mxArray RM17_; mxArray RM18_; mxArray RM19_; mxArray RM20_; mxArray RM21_; mxArray RM22_; mxArray RM23_; mxArray RM24_; mxArray RM25_; mxArray RM26_; mxArray RM27_; mxArray RM28_; mxArray RM29_; mxArray RM30_; mxArray RM31_; mxArray RM32_; mxArray RM33_; mxArray RM34_; mxArray RM35_; mxArray RM36_; mxArray RM37_; mxArray RM38_; mxArray RM39_; mxArray RM40_; mxArray RM41_; mxArray RM42_; mxArray RM43_; mxArray RM44_; mxArray RM45_; mxArray RM46_; mxArray RM47_; mxArray RM48_; mxArray RM49_; mxArray RM50_; mxArray RM51_; mxArray RM52_; mxArray RM53_; mxArray RM54_; mxArray RM55_; mxArray RM56_; mxArray RM57_; mxArray RM58_; mxArray RM59_; mxArray RM60_; mxArray RM61_; mxArray IM0_; double R1_ = 0.0; double R2_ = 0.0; mccRealInit(th); mccCopy(&th, th_P_); mccRealInit(P); mccRealInit(Q); mccRealInit(q); mccRealInit(ve); mccRealInit(b); mccRealInit(A); mccRealInit(x); mccRealInit(v); mccRealInit(RM0_); mccRealInit(RM1_); mccRealInit(RM2_); mccRealInit(RM3_); mccRealInit(RM4_); mccRealInit(RM5_); mccRealInit(RM6_); mccRealInit(RM7_); mccRealInit(RM8_); mccRealInit(RM9_); mccRealInit(RM10_); mccRealInit(RM11_); mccRealInit(RM12_); mccRealInit(RM13_); mccRealInit(RM14_); mccRealInit(RM15_); mccRealInit(RM16_); mccRealInit(RM17_); mccRealInit(RM18_); mccRealInit(RM19_); mccRealInit(RM20_); mccRealInit(RM21_); mccRealInit(RM22_); mccRealInit(RM23_); mccRealInit(RM24_); mccRealInit(RM25_); mccRealInit(RM26_); mccRealInit(RM27_); mccRealInit(RM28_); mccRealInit(RM29_); mccRealInit(RM30_); mccRealInit(RM31_); mccRealInit(RM32_); mccRealInit(RM33_); mccRealInit(RM34_); mccRealInit(RM35_); mccRealInit(RM36_); mccRealInit(RM37_); mccRealInit(RM38_); mccRealInit(RM39_); mccRealInit(RM40_); mccRealInit(RM41_); mccRealInit(RM42_); mccRealInit(RM43_); mccRealInit(RM44_); mccRealInit(RM45_); mccRealInit(RM46_); mccRealInit(RM47_); mccRealInit(RM48_); mccRealInit(RM49_); mccRealInit(RM50_); mccRealInit(RM51_); mccRealInit(RM52_); mccRealInit(RM53_); mccRealInit(RM54_); mccRealInit(RM55_); mccRealInit(RM56_); mccRealInit(RM57_); mccRealInit(RM58_); mccRealInit(RM59_); mccRealInit(RM60_); mccRealInit(RM61_); mccIntInit(IM0_); /* % Storing nonlinear ventricular compliance values for */ /* % subsequent initial ventricular volume calculation. */ /* Cld = th(2); */ Cld = (mccPR(&th)[(2-1)]); /* Crd = th(6); */ Crd = (mccPR(&th)[(6-1)]); /* % Converting ventricular compliances to linear values which */ /* % is necessary for estimating initial pressures. */ /* th(1) = th(1)*((th(26)-th(9))/th(31)); */ mccPR(&th)[(1-1)] = ((mccPR(&th)[(1-1)]) * (double) (((mccPR(&th)[(26-1)]) - (mccPR(&th)[(9-1)])) / (double) (mccPR(&th)[(31-1)]))); /* th(2) = th(2)*((th(26)-th(9))/th(31)); */ mccPR(&th)[(2-1)] = ((mccPR(&th)[(2-1)]) * (double) (((mccPR(&th)[(26-1)]) - (mccPR(&th)[(9-1)])) / (double) (mccPR(&th)[(31-1)]))); /* th(5) = th(5)*((th(27)-th(12))/th(32)); */ mccPR(&th)[(5-1)] = ((mccPR(&th)[(5-1)]) * (double) (((mccPR(&th)[(27-1)]) - (mccPR(&th)[(12-1)])) / (double) (mccPR(&th)[(32-1)]))); /* th(6) = th(6)*((th(27)-th(12))/th(32)); */ mccPR(&th)[(6-1)] = ((mccPR(&th)[(6-1)]) * (double) (((mccPR(&th)[(27-1)]) - (mccPR(&th)[(12-1)])) / (double) (mccPR(&th)[(32-1)]))); /* % Estimating initial pressures as well as qe which is also a state variable. */ /* Ts = .3*sqrt(1/th(22)); */ R0_ = sqrt((1 / (double) (mccPR(&th)[(22-1)]))); Ts = (.3 * (double) R0_); /* Td = 1/th(22) - Ts; */ Td = ((1 / (double) (mccPR(&th)[(22-1)])) - Ts); /* temp = -th(2)*th(23) + th(1)*th(23); */ temp = (((-(mccPR(&th)[(2-1)])) * (double) (mccPR(&th)[(23-1)])) + ((mccPR(&th)[(1-1)]) * (double) (mccPR(&th)[(23-1)]))); /* b = [temp+th(6)*th(23)-th(5)*th(23); */ mccCatenateRows(&RM0_, mccTempMatrix(((temp + ((mccPR(&th)[(6-1)]) * (double) (mccPR(&th)[(23-1)]))) - ((mccPR(&th)[(5-1)]) * (double) (mccPR(&th)[(23-1)]))), 0., mccREAL, 0 ), mccTempMatrix(temp, 0., mccREAL, 0 )); mccCatenateRows(&RM1_, &RM0_, mccTempMatrix(temp, 0., mccREAL, 0 )); mccCatenateRows(&RM2_, &RM1_, mccTempMatrix(temp, 0., mccREAL, 0 )); mccCatenateRows(&RM3_, &RM2_, mccTempMatrix(temp, 0., mccREAL, 0 )); mccCatenateRows(&RM4_, &RM3_, mccTempMatrix(temp, 0., mccREAL, 0 )); mccCatenateRows(&RM5_, &RM4_, mccTempMatrix(temp, 0., mccREAL, 0 )); mccCatenateRows(&b, &RM5_, mccTempMatrix(((((((mccPR(&th)[(21-1)]) - ((((((mccPR(&th)[(14-1)]) + (mccPR(&th)[(13-1)])) + (mccPR(&th)[(12-1)])) + (mccPR(&th)[(11-1)])) + (mccPR(&th)[(10-1)])) + (mccPR(&th)[(9-1)]))) + ((mccPR(&th)[(2-1)]) * (double) (mccPR(&th)[(23-1)]))) + ((mccPR(&th)[(6-1)]) * (double) (mccPR(&th)[(23-1)]))) + ((mccPR(&th)[(7-1)]) * (double) (mccPR(&th)[(23-1)]))) + ((mccPR(&th)[(8-1)]) * (double) (mccPR(&th)[(23-1)]))), 0., mccREAL, 0 )); /* A = [th(1), -th(2), 0, 0, -th(5), th(6), 0, 0; */ mccCatenateColumns(&RM5_, mccTempVectorElement(&th, 1), mccTempMatrix((-(mccPR(&th)[(2-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM4_, &RM5_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM3_, &RM4_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM2_, &RM3_, mccTempMatrix((-(mccPR(&th)[(5-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM1_, &RM2_, mccTempVectorElement(&th, 6)); mccCatenateColumns(&RM0_, &RM1_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM6_, &RM0_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM7_, mccTempMatrix(((mccPR(&th)[(1-1)]) + (Ts / (double) (mccPR(&th)[(15-1)]))), 0., mccREAL, 0 ), mccTempMatrix((-(mccPR(&th)[(2-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM8_, &RM7_, mccTempMatrix(((-Ts) / (double) (mccPR(&th)[(15-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM9_, &RM8_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM10_, &RM9_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM11_, &RM10_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM12_, &RM11_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM13_, &RM12_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateRows(&RM14_, &RM6_, &RM13_); mccCatenateColumns(&RM15_, mccTempVectorElement(&th, 1), mccTempMatrix((-(mccPR(&th)[(2-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM16_, &RM15_, mccTempMatrix((1 / (double) ((mccPR(&th)[(22-1)]) * (double) (mccPR(&th)[(16-1)]))), 0., mccREAL, 0 )); mccCatenateColumns(&RM17_, &RM16_, mccTempMatrix(( -1 / (double) ((mccPR(&th)[(22-1)]) * (double) (mccPR(&th)[(16-1)]))), 0., mccREAL, 0 )); mccCatenateColumns(&RM18_, &RM17_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM19_, &RM18_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM20_, &RM19_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM21_, &RM20_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateRows(&RM22_, &RM14_, &RM21_); mccCatenateColumns(&RM23_, mccTempVectorElement(&th, 1), mccTempMatrix((-(mccPR(&th)[(2-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM24_, &RM23_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM25_, &RM24_, mccTempMatrix((Td / (double) (mccPR(&th)[(17-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM26_, &RM25_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM27_, &RM26_, mccTempMatrix(((-Td) / (double) (mccPR(&th)[(17-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM28_, &RM27_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM29_, &RM28_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateRows(&RM30_, &RM22_, &RM29_); mccCatenateColumns(&RM31_, mccTempVectorElement(&th, 1), mccTempMatrix((-(mccPR(&th)[(2-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM32_, &RM31_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM33_, &RM32_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM34_, &RM33_, mccTempMatrix((Ts / (double) (mccPR(&th)[(18-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM35_, &RM34_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM36_, &RM35_, mccTempMatrix(((-Ts) / (double) (mccPR(&th)[(18-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM37_, &RM36_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateRows(&RM38_, &RM30_, &RM37_); mccCatenateColumns(&RM39_, mccTempVectorElement(&th, 1), mccTempMatrix((-(mccPR(&th)[(2-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM40_, &RM39_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM41_, &RM40_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM42_, &RM41_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM43_, &RM42_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM44_, &RM43_, mccTempMatrix((1 / (double) ((mccPR(&th)[(22-1)]) * (double) (mccPR(&th)[(19-1)]))), 0., mccREAL, 0 )); mccCatenateColumns(&RM45_, &RM44_, mccTempMatrix(( -1 / (double) ((mccPR(&th)[(22-1)]) * (double) (mccPR(&th)[(19-1)]))), 0., mccREAL, 0 )); mccCatenateRows(&RM46_, &RM38_, &RM45_); mccCatenateColumns(&RM47_, mccTempVectorElement(&th, 1), mccTempMatrix((-((mccPR(&th)[(2-1)]) + (Td / (double) (mccPR(&th)[(20-1)])))), 0., mccREAL, 0 )); mccCatenateColumns(&RM48_, &RM47_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM49_, &RM48_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM50_, &RM49_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM51_, &RM50_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM52_, &RM51_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM53_, &RM52_, mccTempMatrix((Td / (double) (mccPR(&th)[(20-1)])), 0., mccREAL, 0 )); mccCatenateRows(&RM54_, &RM46_, &RM53_); mccCatenateColumns(&RM55_, mccTempMatrix(0, 0., mccINT, 0 ), mccTempVectorElement(&th, 2)); mccCatenateColumns(&RM56_, &RM55_, mccTempMatrix(((mccPR(&th)[(72-1)]) + (mccPR(&th)[(73-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM57_, &RM56_, mccTempVectorElement(&th, 4)); mccCatenateColumns(&RM58_, &RM57_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM59_, &RM58_, mccTempVectorElement(&th, 6)); mccCatenateColumns(&RM60_, &RM59_, mccTempVectorElement(&th, 7)); mccCatenateColumns(&RM61_, &RM60_, mccTempVectorElement(&th, 8)); mccCatenateRows(&A, &RM54_, &RM61_); /* x = A\b; */ mccRealLeftDivide(&x, &A, &b); /* P = [x(2:4)' x(6:8)' x(3) 0]'; */ { int i_, j_; int m_=1, n_=1, cx_ = 0; double *p_RM61_; int I_RM61_=1; double *p_x; int I_x=1; m_ = mccCalcSubscriptDimensions(m_, &n_, 1, ((int)(4 - 2) + 1), &x); mccAllocateMatrix(&RM61_, m_, n_); I_RM61_ = (mccM(&RM61_) != 1 || mccN(&RM61_) != 1); p_RM61_ = mccPR(&RM61_); I_x = (mccM(&x) != 1 || mccN(&x) != 1); p_x = mccPR(&x) + ((int)(2 - .5)); if (m_ != 0) { for (j_=0; j_ P(1)) */ if (( ((mccPR(&P)[(6-1)]) > (mccPR(&P)[(1-1)])) && !mccREL_NAN((mccPR(&P)[(6-1)])) && !mccREL_NAN((mccPR(&P)[(1-1)])) )) { /* q(1) = (P(6)-P(1))/th(20); */ mccPR(&q)[(1-1)] = (((mccPR(&P)[(6-1)]) - (mccPR(&P)[(1-1)])) / (double) (mccPR(&th)[(20-1)])); } else { /* else */ /* q(1) = 0; */ mccPR(&q)[(1-1)] = 0; /* end */ } /* if (P(1) > P(2)) */ if (( ((mccPR(&P)[(1-1)]) > (mccPR(&P)[(2-1)])) && !mccREL_NAN((mccPR(&P)[(1-1)])) && !mccREL_NAN((mccPR(&P)[(2-1)])) )) { /* q(2) = (P(1)-P(2))/th(15); */ mccPR(&q)[(2-1)] = (((mccPR(&P)[(1-1)]) - (mccPR(&P)[(2-1)])) / (double) (mccPR(&th)[(15-1)])); } else { /* else */ /* q(2) = 0; */ mccPR(&q)[(2-1)] = 0; /* end */ } /* q(3) = (P(7)-P(3))/th(16); */ mccPR(&q)[(3-1)] = (((mccPR(&P)[(7-1)]) - (mccPR(&P)[(3-1)])) / (double) (mccPR(&th)[(16-1)])); /* if (P(3) > P(4)) */ if (( ((mccPR(&P)[(3-1)]) > (mccPR(&P)[(4-1)])) && !mccREL_NAN((mccPR(&P)[(3-1)])) && !mccREL_NAN((mccPR(&P)[(4-1)])) )) { /* q(4) = (P(3)-P(4))/th(17); */ mccPR(&q)[(4-1)] = (((mccPR(&P)[(3-1)]) - (mccPR(&P)[(4-1)])) / (double) (mccPR(&th)[(17-1)])); } else { /* else */ /* q(4) = 0; */ mccPR(&q)[(4-1)] = 0; /* end */ } /* if (P(4) > P(5)) */ if (( ((mccPR(&P)[(4-1)]) > (mccPR(&P)[(5-1)])) && !mccREL_NAN((mccPR(&P)[(4-1)])) && !mccREL_NAN((mccPR(&P)[(5-1)])) )) { /* q(5) = (P(4)-P(5))/th(18); */ mccPR(&q)[(5-1)] = (((mccPR(&P)[(4-1)]) - (mccPR(&P)[(5-1)])) / (double) (mccPR(&th)[(18-1)])); } else { /* else */ /* q(5) = 0; */ mccPR(&q)[(5-1)] = 0; /* end */ } /* q(6) = (P(5)-P(6))/th(19); */ mccPR(&q)[(6-1)] = (((mccPR(&P)[(5-1)]) - (mccPR(&P)[(6-1)])) / (double) (mccPR(&th)[(19-1)])); /* % Establishing initial variable ventricular elastance values. */ /* ve = [1/th(2) 1/th(6)]'; */ mccCatenateColumns(&RM55_, mccTempMatrix((1 / (double) (mccPR(&th)[(2-1)])), 0., mccREAL, 0 ), mccTempMatrix((1 / (double) (mccPR(&th)[(6-1)])), 0., mccREAL, 0 )); mccConjTrans(&ve, &RM55_); /* % Establishing initial volumes. */ /* Q = [th(2) th(72) th(4) th(6) th(7) th(8) th(73)]'.*(P(1:7)-th(23)*[1 0 0 1 1 1 0]') + [th(9); th(74); th(11:14); th(75)]; */ mccCatenateColumns(&RM55_, mccTempVectorElement(&th, 2), mccTempVectorElement(&th, 72)); mccCatenateColumns(&RM56_, &RM55_, mccTempVectorElement(&th, 4)); mccCatenateColumns(&RM57_, &RM56_, mccTempVectorElement(&th, 6)); mccCatenateColumns(&RM58_, &RM57_, mccTempVectorElement(&th, 7)); mccCatenateColumns(&RM59_, &RM58_, mccTempVectorElement(&th, 8)); mccCatenateColumns(&RM60_, &RM59_, mccTempVectorElement(&th, 73)); mccConjTrans(&RM61_, &RM60_); R0_ = (mccPR(&th)[(23-1)]); mccConjTrans(&IM0_, &S272_); mccCatenateRows(&RM54_, mccTempVectorElement(&th, 9), mccTempVectorElement(&th, 74)); { int i_, j_; int m_=1, n_=1, cx_ = 0; double *p_RM53_; int I_RM53_=1; double *p_th; int I_th=1; m_ = mccCalcSubscriptDimensions(m_, &n_, 1, ((int)(14 - 11) + 1), &th); mccAllocateMatrix(&RM53_, m_, n_); I_RM53_ = (mccM(&RM53_) != 1 || mccN(&RM53_) != 1); p_RM53_ = mccPR(&RM53_); I_th = (mccM(&th) != 1 || mccN(&th) != 1); p_th = mccPR(&th) + ((int)(11 - .5)); if (m_ != 0) { for (j_=0; j_ * Td real scalar * Ts real scalar * apr_init_cond_ * atan * b real vector/matrix * pi * q real vector/matrix * realsqrt * temp real scalar * th real vector/matrix * ve real vector/matrix * vent_vol * x real vector/matrix * xl real scalar * xr real scalar * yl real scalar * yr real scalar * zeros *******************************************************/ static void apr_init_cond_(mxArray *P_PP_, mxArray *Q_PP_, mxArray *q_PP_, mxArray *ve_PP_, mxArray *th_P_ ) { mxArray th; mxArray P; mxArray Q; mxArray q; mxArray ve; double Cld = 0.0; double Crd = 0.0; double Ts = 0.0; double Td = 0.0; double temp = 0.0; mxArray b; mxArray A; mxArray x; double yl = 0.0; double xl = 0.0; double yr = 0.0; double xr = 0.0; double R0_ = 0.0; mxArray RM0_; mxArray RM1_; mxArray RM2_; mxArray RM3_; mxArray RM4_; mxArray RM5_; mxArray RM6_; mxArray RM7_; mxArray RM8_; mxArray RM9_; mxArray RM10_; mxArray RM11_; mxArray RM12_; mxArray RM13_; mxArray RM14_; mxArray RM15_; mxArray RM16_; mxArray RM17_; mxArray RM18_; mxArray RM19_; mxArray RM20_; mxArray RM21_; mxArray RM22_; mxArray RM23_; mxArray RM24_; mxArray RM25_; mxArray RM26_; mxArray RM27_; mxArray RM28_; mxArray RM29_; mxArray RM30_; mxArray RM31_; mxArray RM32_; mxArray RM33_; mxArray RM34_; mxArray RM35_; mxArray RM36_; mxArray RM37_; mxArray RM38_; mxArray RM39_; mxArray RM40_; mxArray RM41_; mxArray RM42_; mxArray RM43_; mxArray RM44_; mxArray RM45_; mxArray RM46_; mxArray IM0_; double R1_ = 0.0; double R2_ = 0.0; mccRealInit(th); mccCopy(&th, th_P_); mccRealInit(P); mccRealInit(Q); mccRealInit(q); mccRealInit(ve); mccRealInit(b); mccRealInit(A); mccRealInit(x); mccRealInit(RM0_); mccRealInit(RM1_); mccRealInit(RM2_); mccRealInit(RM3_); mccRealInit(RM4_); mccRealInit(RM5_); mccRealInit(RM6_); mccRealInit(RM7_); mccRealInit(RM8_); mccRealInit(RM9_); mccRealInit(RM10_); mccRealInit(RM11_); mccRealInit(RM12_); mccRealInit(RM13_); mccRealInit(RM14_); mccRealInit(RM15_); mccRealInit(RM16_); mccRealInit(RM17_); mccRealInit(RM18_); mccRealInit(RM19_); mccRealInit(RM20_); mccRealInit(RM21_); mccRealInit(RM22_); mccRealInit(RM23_); mccRealInit(RM24_); mccRealInit(RM25_); mccRealInit(RM26_); mccRealInit(RM27_); mccRealInit(RM28_); mccRealInit(RM29_); mccRealInit(RM30_); mccRealInit(RM31_); mccRealInit(RM32_); mccRealInit(RM33_); mccRealInit(RM34_); mccRealInit(RM35_); mccRealInit(RM36_); mccRealInit(RM37_); mccRealInit(RM38_); mccRealInit(RM39_); mccRealInit(RM40_); mccRealInit(RM41_); mccRealInit(RM42_); mccRealInit(RM43_); mccRealInit(RM44_); mccRealInit(RM45_); mccRealInit(RM46_); mccIntInit(IM0_); /* % Storing nonlinear ventricular compliance values for */ /* % subsequent initial ventricular volume calculation. */ /* Cld = th(2); */ Cld = (mccPR(&th)[(2-1)]); /* Crd = th(6); */ Crd = (mccPR(&th)[(6-1)]); /* % Converting ventricular compliances to linear values which */ /* % is necessary for estimating initial pressures. */ /* th(1) = th(1)*((th(26)-th(9))/th(31)); */ mccPR(&th)[(1-1)] = ((mccPR(&th)[(1-1)]) * (double) (((mccPR(&th)[(26-1)]) - (mccPR(&th)[(9-1)])) / (double) (mccPR(&th)[(31-1)]))); /* th(2) = th(2)*((th(26)-th(9))/th(31)); */ mccPR(&th)[(2-1)] = ((mccPR(&th)[(2-1)]) * (double) (((mccPR(&th)[(26-1)]) - (mccPR(&th)[(9-1)])) / (double) (mccPR(&th)[(31-1)]))); /* th(5) = th(5)*((th(27)-th(12))/th(32)); */ mccPR(&th)[(5-1)] = ((mccPR(&th)[(5-1)]) * (double) (((mccPR(&th)[(27-1)]) - (mccPR(&th)[(12-1)])) / (double) (mccPR(&th)[(32-1)]))); /* th(6) = th(6)*((th(27)-th(12))/th(32)); */ mccPR(&th)[(6-1)] = ((mccPR(&th)[(6-1)]) * (double) (((mccPR(&th)[(27-1)]) - (mccPR(&th)[(12-1)])) / (double) (mccPR(&th)[(32-1)]))); /* % Estimating initial pressures. */ /* Ts = .3*sqrt(1/th(22)); */ R0_ = sqrt((1 / (double) (mccPR(&th)[(22-1)]))); Ts = (.3 * (double) R0_); /* Td = 1/th(22) - Ts; */ Td = ((1 / (double) (mccPR(&th)[(22-1)])) - Ts); /* temp = -th(2)*th(23) + th(1)*th(23); */ temp = (((-(mccPR(&th)[(2-1)])) * (double) (mccPR(&th)[(23-1)])) + ((mccPR(&th)[(1-1)]) * (double) (mccPR(&th)[(23-1)]))); /* b = [temp+th(6)*th(23)-th(5)*th(23); */ mccCatenateRows(&RM0_, mccTempMatrix(((temp + ((mccPR(&th)[(6-1)]) * (double) (mccPR(&th)[(23-1)]))) - ((mccPR(&th)[(5-1)]) * (double) (mccPR(&th)[(23-1)]))), 0., mccREAL, 0 ), mccTempMatrix((temp + ((Ts * (double) (mccPR(&th)[(29-1)])) / (double) (mccPR(&th)[(15-1)]))), 0., mccREAL, 0 )); mccCatenateRows(&RM1_, &RM0_, mccTempMatrix((temp - ((mccPR(&th)[(29-1)]) / (double) ((mccPR(&th)[(22-1)]) * (double) (mccPR(&th)[(16-1)])))), 0., mccREAL, 0 )); mccCatenateRows(&RM2_, &RM1_, mccTempMatrix(temp, 0., mccREAL, 0 )); mccCatenateRows(&RM3_, &RM2_, mccTempMatrix(temp, 0., mccREAL, 0 )); mccCatenateRows(&RM4_, &RM3_, mccTempMatrix(temp, 0., mccREAL, 0 )); mccCatenateRows(&b, &RM4_, mccTempMatrix(temp, 0., mccREAL, 0 )); /* A = [th(1), -th(2), 0, -th(5), th(6), 0, 0; */ mccCatenateColumns(&RM4_, mccTempVectorElement(&th, 1), mccTempMatrix((-(mccPR(&th)[(2-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM3_, &RM4_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM2_, &RM3_, mccTempMatrix((-(mccPR(&th)[(5-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM1_, &RM2_, mccTempVectorElement(&th, 6)); mccCatenateColumns(&RM0_, &RM1_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM5_, &RM0_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM6_, mccTempMatrix(((mccPR(&th)[(1-1)]) + (Ts / (double) (mccPR(&th)[(15-1)]))), 0., mccREAL, 0 ), mccTempMatrix((-(mccPR(&th)[(2-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM7_, &RM6_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM8_, &RM7_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM9_, &RM8_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM10_, &RM9_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM11_, &RM10_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateRows(&RM12_, &RM5_, &RM11_); mccCatenateColumns(&RM13_, mccTempVectorElement(&th, 1), mccTempMatrix((-(mccPR(&th)[(2-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM14_, &RM13_, mccTempMatrix(( -1 / (double) ((mccPR(&th)[(22-1)]) * (double) (mccPR(&th)[(16-1)]))), 0., mccREAL, 0 )); mccCatenateColumns(&RM15_, &RM14_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM16_, &RM15_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM17_, &RM16_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM18_, &RM17_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateRows(&RM19_, &RM12_, &RM18_); mccCatenateColumns(&RM20_, mccTempVectorElement(&th, 1), mccTempMatrix((-(mccPR(&th)[(2-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM21_, &RM20_, mccTempMatrix((Td / (double) (mccPR(&th)[(17-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM22_, &RM21_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM23_, &RM22_, mccTempMatrix(((-Td) / (double) (mccPR(&th)[(17-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM24_, &RM23_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM25_, &RM24_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateRows(&RM26_, &RM19_, &RM25_); mccCatenateColumns(&RM27_, mccTempVectorElement(&th, 1), mccTempMatrix((-(mccPR(&th)[(2-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM28_, &RM27_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM29_, &RM28_, mccTempMatrix((Ts / (double) (mccPR(&th)[(18-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM30_, &RM29_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM31_, &RM30_, mccTempMatrix(((-Ts) / (double) (mccPR(&th)[(18-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM32_, &RM31_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateRows(&RM33_, &RM26_, &RM32_); mccCatenateColumns(&RM34_, mccTempVectorElement(&th, 1), mccTempMatrix((-(mccPR(&th)[(2-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM35_, &RM34_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM36_, &RM35_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM37_, &RM36_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM38_, &RM37_, mccTempMatrix((1 / (double) ((mccPR(&th)[(22-1)]) * (double) (mccPR(&th)[(19-1)]))), 0., mccREAL, 0 )); mccCatenateColumns(&RM39_, &RM38_, mccTempMatrix(( -1 / (double) ((mccPR(&th)[(22-1)]) * (double) (mccPR(&th)[(19-1)]))), 0., mccREAL, 0 )); mccCatenateRows(&RM40_, &RM33_, &RM39_); mccCatenateColumns(&RM41_, mccTempVectorElement(&th, 1), mccTempMatrix((-((mccPR(&th)[(2-1)]) + (Td / (double) (mccPR(&th)[(20-1)])))), 0., mccREAL, 0 )); mccCatenateColumns(&RM42_, &RM41_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM43_, &RM42_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM44_, &RM43_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM45_, &RM44_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM46_, &RM45_, mccTempMatrix((Td / (double) (mccPR(&th)[(20-1)])), 0., mccREAL, 0 )); mccCatenateRows(&A, &RM40_, &RM46_); /* x = A\b; */ mccRealLeftDivide(&x, &A, &b); /* P = [x(2) th(29) x(3) x(5:7)']'; */ mccCatenateColumns(&RM46_, mccTempVectorElement(&x, 2), mccTempVectorElement(&th, 29)); mccCatenateColumns(&RM45_, &RM46_, mccTempVectorElement(&x, 3)); { int i_, j_; int m_=1, n_=1, cx_ = 0; double *p_RM44_; int I_RM44_=1; double *p_x; int I_x=1; m_ = mccCalcSubscriptDimensions(m_, &n_, 1, ((int)(7 - 5) + 1), &x); mccAllocateMatrix(&RM44_, m_, n_); I_RM44_ = (mccM(&RM44_) != 1 || mccN(&RM44_) != 1); p_RM44_ = mccPR(&RM44_); I_x = (mccM(&x) != 1 || mccN(&x) != 1); p_x = mccPR(&x) + ((int)(5 - .5)); if (m_ != 0) { for (j_=0; j_ P(1)) */ if (( ((mccPR(&P)[(6-1)]) > (mccPR(&P)[(1-1)])) && !mccREL_NAN((mccPR(&P)[(6-1)])) && !mccREL_NAN((mccPR(&P)[(1-1)])) )) { /* q(1) = (P(6)-P(1))/th(20); */ mccPR(&q)[(1-1)] = (((mccPR(&P)[(6-1)]) - (mccPR(&P)[(1-1)])) / (double) (mccPR(&th)[(20-1)])); } else { /* else */ /* q(1) = 0; */ mccPR(&q)[(1-1)] = 0; /* end */ } /* if (P(1) > P(2)) */ if (( ((mccPR(&P)[(1-1)]) > (mccPR(&P)[(2-1)])) && !mccREL_NAN((mccPR(&P)[(1-1)])) && !mccREL_NAN((mccPR(&P)[(2-1)])) )) { /* q(2) = (P(1)-P(2))/th(15); */ mccPR(&q)[(2-1)] = (((mccPR(&P)[(1-1)]) - (mccPR(&P)[(2-1)])) / (double) (mccPR(&th)[(15-1)])); } else { /* else */ /* q(2) = 0; */ mccPR(&q)[(2-1)] = 0; /* end */ } /* q(3) = (P(2)-P(3))/th(16); */ mccPR(&q)[(3-1)] = (((mccPR(&P)[(2-1)]) - (mccPR(&P)[(3-1)])) / (double) (mccPR(&th)[(16-1)])); /* if (P(3) > P(4)) */ if (( ((mccPR(&P)[(3-1)]) > (mccPR(&P)[(4-1)])) && !mccREL_NAN((mccPR(&P)[(3-1)])) && !mccREL_NAN((mccPR(&P)[(4-1)])) )) { /* q(4) = (P(3)-P(4))/th(17); */ mccPR(&q)[(4-1)] = (((mccPR(&P)[(3-1)]) - (mccPR(&P)[(4-1)])) / (double) (mccPR(&th)[(17-1)])); } else { /* else */ /* q(4) = 0; */ mccPR(&q)[(4-1)] = 0; /* end */ } /* if (P(4) > P(5)) */ if (( ((mccPR(&P)[(4-1)]) > (mccPR(&P)[(5-1)])) && !mccREL_NAN((mccPR(&P)[(4-1)])) && !mccREL_NAN((mccPR(&P)[(5-1)])) )) { /* q(5) = (P(4)-P(5))/th(18); */ mccPR(&q)[(5-1)] = (((mccPR(&P)[(4-1)]) - (mccPR(&P)[(5-1)])) / (double) (mccPR(&th)[(18-1)])); } else { /* else */ /* q(5) = 0; */ mccPR(&q)[(5-1)] = 0; /* end */ } /* q(6) = (P(5)-P(6))/th(19); */ mccPR(&q)[(6-1)] = (((mccPR(&P)[(5-1)]) - (mccPR(&P)[(6-1)])) / (double) (mccPR(&th)[(19-1)])); /* % Establishing initial variable ventricular elastance values. */ /* ve = [1/th(2) 1/th(6)]'; */ mccCatenateColumns(&RM42_, mccTempMatrix((1 / (double) (mccPR(&th)[(2-1)])), 0., mccREAL, 0 ), mccTempMatrix((1 / (double) (mccPR(&th)[(6-1)])), 0., mccREAL, 0 )); mccConjTrans(&ve, &RM42_); /* % Establishing initial volumes. */ /* Q = [th(2) th(3) th(4) th(6) th(7) th(8)]'.*(P(1:6)-th(23)*[1 0 0 1 1 1]') + [th(9:14)]; */ mccCatenateColumns(&RM42_, mccTempVectorElement(&th, 2), mccTempVectorElement(&th, 3)); mccCatenateColumns(&RM43_, &RM42_, mccTempVectorElement(&th, 4)); mccCatenateColumns(&RM44_, &RM43_, mccTempVectorElement(&th, 6)); mccCatenateColumns(&RM45_, &RM44_, mccTempVectorElement(&th, 7)); mccCatenateColumns(&RM46_, &RM45_, mccTempVectorElement(&th, 8)); mccConjTrans(&RM41_, &RM46_); R0_ = (mccPR(&th)[(23-1)]); mccConjTrans(&IM0_, &S273_); { int i_, j_; int m_=1, n_=1, cx_ = 0; double *p_Q; int I_Q=1; double *p_RM41_; int I_RM41_=1; double *p_P; int I_P=1; int *p_IM0_; int I_IM0_=1; double *p_th; int I_th=1; m_ = mcmCalcResultSize(m_, &n_, mccM(&RM41_), mccN(&RM41_)); m_ = mccCalcSubscriptDimensions(m_, &n_, 1, ((int)(6 - 1) + 1), &P); m_ = mcmCalcResultSize(m_, &n_, mccM(&IM0_), mccN(&IM0_)); m_ = mccCalcSubscriptDimensions(m_, &n_, 1, ((int)(14 - 9) + 1), &th); mccAllocateMatrix(&Q, m_, n_); I_Q = (mccM(&Q) != 1 || mccN(&Q) != 1); p_Q = mccPR(&Q); I_RM41_ = (mccM(&RM41_) != 1 || mccN(&RM41_) != 1); p_RM41_ = mccPR(&RM41_); I_P = (mccM(&P) != 1 || mccN(&P) != 1); p_P = mccPR(&P) + ((int)(1 - .5)); I_IM0_ = (mccM(&IM0_) != 1 || mccN(&IM0_) != 1); p_IM0_ = mccIPR(&IM0_); I_th = (mccM(&th) != 1 || mccN(&th) != 1); p_th = mccPR(&th) + ((int)(9 - .5)); if (m_ != 0) { for (j_=0; j_ * Td real scalar * Ts real scalar * a_init_cond_ * atan * b real vector/matrix * pi * q real vector/matrix * realsqrt * temp real scalar * th real vector/matrix * ve real vector/matrix * vent_vol * x real vector/matrix * xl real scalar * xr real scalar * yl real scalar * yr real scalar * zeros *******************************************************/ static void a_init_cond_(mxArray *P_PP_, mxArray *Q_PP_, mxArray *q_PP_, mxArray *ve_PP_, mxArray *th_P_ ) { mxArray th; mxArray P; mxArray Q; mxArray q; mxArray ve; double Cld = 0.0; double Crd = 0.0; double Ts = 0.0; double Td = 0.0; double temp = 0.0; mxArray b; mxArray A; mxArray x; double yl = 0.0; double xl = 0.0; double yr = 0.0; double xr = 0.0; double R0_ = 0.0; mxArray RM0_; mxArray RM1_; mxArray RM2_; mxArray RM3_; mxArray RM4_; mxArray RM5_; mxArray RM6_; mxArray RM7_; mxArray RM8_; mxArray RM9_; mxArray RM10_; mxArray RM11_; mxArray RM12_; mxArray RM13_; mxArray RM14_; mxArray RM15_; mxArray RM16_; mxArray RM17_; mxArray RM18_; mxArray RM19_; mxArray RM20_; mxArray RM21_; mxArray RM22_; mxArray RM23_; mxArray RM24_; mxArray RM25_; mxArray RM26_; mxArray RM27_; mxArray RM28_; mxArray RM29_; mxArray RM30_; mxArray RM31_; mxArray RM32_; mxArray RM33_; mxArray RM34_; mxArray RM35_; mxArray RM36_; mxArray RM37_; mxArray RM38_; mxArray RM39_; mxArray RM40_; mxArray RM41_; mxArray RM42_; mxArray RM43_; mxArray RM44_; mxArray RM45_; mxArray RM46_; mxArray RM47_; mxArray RM48_; mxArray RM49_; mxArray RM50_; mxArray RM51_; mxArray RM52_; mxArray RM53_; mxArray RM54_; mxArray RM55_; mxArray RM56_; mxArray RM57_; mxArray RM58_; mxArray RM59_; mxArray RM60_; mxArray RM61_; mxArray RM62_; mxArray RM63_; mxArray RM64_; mxArray RM65_; mxArray RM66_; mxArray RM67_; mxArray RM68_; mxArray RM69_; mxArray RM70_; mxArray RM71_; mxArray RM72_; mxArray RM73_; mxArray RM74_; mxArray RM75_; mxArray RM76_; mxArray RM77_; mxArray RM78_; mxArray RM79_; mxArray RM80_; mxArray RM81_; mxArray RM82_; mxArray RM83_; mxArray RM84_; mxArray RM85_; mxArray RM86_; mxArray RM87_; mxArray RM88_; mxArray RM89_; mxArray RM90_; mxArray RM91_; mxArray RM92_; mxArray RM93_; mxArray RM94_; mxArray RM95_; mxArray RM96_; mxArray RM97_; mxArray IM0_; double R1_ = 0.0; double R2_ = 0.0; mccRealInit(th); mccCopy(&th, th_P_); mccRealInit(P); mccRealInit(Q); mccRealInit(q); mccRealInit(ve); mccRealInit(b); mccRealInit(A); mccRealInit(x); mccRealInit(RM0_); mccRealInit(RM1_); mccRealInit(RM2_); mccRealInit(RM3_); mccRealInit(RM4_); mccRealInit(RM5_); mccRealInit(RM6_); mccRealInit(RM7_); mccRealInit(RM8_); mccRealInit(RM9_); mccRealInit(RM10_); mccRealInit(RM11_); mccRealInit(RM12_); mccRealInit(RM13_); mccRealInit(RM14_); mccRealInit(RM15_); mccRealInit(RM16_); mccRealInit(RM17_); mccRealInit(RM18_); mccRealInit(RM19_); mccRealInit(RM20_); mccRealInit(RM21_); mccRealInit(RM22_); mccRealInit(RM23_); mccRealInit(RM24_); mccRealInit(RM25_); mccRealInit(RM26_); mccRealInit(RM27_); mccRealInit(RM28_); mccRealInit(RM29_); mccRealInit(RM30_); mccRealInit(RM31_); mccRealInit(RM32_); mccRealInit(RM33_); mccRealInit(RM34_); mccRealInit(RM35_); mccRealInit(RM36_); mccRealInit(RM37_); mccRealInit(RM38_); mccRealInit(RM39_); mccRealInit(RM40_); mccRealInit(RM41_); mccRealInit(RM42_); mccRealInit(RM43_); mccRealInit(RM44_); mccRealInit(RM45_); mccRealInit(RM46_); mccRealInit(RM47_); mccRealInit(RM48_); mccRealInit(RM49_); mccRealInit(RM50_); mccRealInit(RM51_); mccRealInit(RM52_); mccRealInit(RM53_); mccRealInit(RM54_); mccRealInit(RM55_); mccRealInit(RM56_); mccRealInit(RM57_); mccRealInit(RM58_); mccRealInit(RM59_); mccRealInit(RM60_); mccRealInit(RM61_); mccRealInit(RM62_); mccRealInit(RM63_); mccRealInit(RM64_); mccRealInit(RM65_); mccRealInit(RM66_); mccRealInit(RM67_); mccRealInit(RM68_); mccRealInit(RM69_); mccRealInit(RM70_); mccRealInit(RM71_); mccRealInit(RM72_); mccRealInit(RM73_); mccRealInit(RM74_); mccRealInit(RM75_); mccRealInit(RM76_); mccRealInit(RM77_); mccRealInit(RM78_); mccRealInit(RM79_); mccRealInit(RM80_); mccRealInit(RM81_); mccRealInit(RM82_); mccRealInit(RM83_); mccRealInit(RM84_); mccRealInit(RM85_); mccRealInit(RM86_); mccRealInit(RM87_); mccRealInit(RM88_); mccRealInit(RM89_); mccRealInit(RM90_); mccRealInit(RM91_); mccRealInit(RM92_); mccRealInit(RM93_); mccRealInit(RM94_); mccRealInit(RM95_); mccRealInit(RM96_); mccRealInit(RM97_); mccIntInit(IM0_); /* % Storing nonlinear ventricular compliance values for */ /* % subsequent initial ventricular volume calculation. */ /* Cld = th(2); */ Cld = (mccPR(&th)[(2-1)]); /* Crd = th(6); */ Crd = (mccPR(&th)[(6-1)]); /* % Converting ventricular compliances to linear values which */ /* % is necessary for estimating initial pressures. */ /* th(1) = th(1)*((th(26)-th(9))/th(31)); */ mccPR(&th)[(1-1)] = ((mccPR(&th)[(1-1)]) * (double) (((mccPR(&th)[(26-1)]) - (mccPR(&th)[(9-1)])) / (double) (mccPR(&th)[(31-1)]))); /* th(2) = th(2)*((th(26)-th(9))/th(31)); */ mccPR(&th)[(2-1)] = ((mccPR(&th)[(2-1)]) * (double) (((mccPR(&th)[(26-1)]) - (mccPR(&th)[(9-1)])) / (double) (mccPR(&th)[(31-1)]))); /* th(5) = th(5)*((th(27)-th(12))/th(32)); */ mccPR(&th)[(5-1)] = ((mccPR(&th)[(5-1)]) * (double) (((mccPR(&th)[(27-1)]) - (mccPR(&th)[(12-1)])) / (double) (mccPR(&th)[(32-1)]))); /* th(6) = th(6)*((th(27)-th(12))/th(32)); */ mccPR(&th)[(6-1)] = ((mccPR(&th)[(6-1)]) * (double) (((mccPR(&th)[(27-1)]) - (mccPR(&th)[(12-1)])) / (double) (mccPR(&th)[(32-1)]))); /* % Estimating initial pressures. */ /* Ts = .3*sqrt(1/th(22)); */ R0_ = sqrt((1 / (double) (mccPR(&th)[(22-1)]))); Ts = (.3 * (double) R0_); /* Td = 1/th(22) - Ts; */ Td = ((1 / (double) (mccPR(&th)[(22-1)])) - Ts); /* temp = -th(2)*th(23) + th(1)*th(23); */ temp = (((-(mccPR(&th)[(2-1)])) * (double) (mccPR(&th)[(23-1)])) + ((mccPR(&th)[(1-1)]) * (double) (mccPR(&th)[(23-1)]))); /* b = [temp+th(6)*th(23)-th(5)*th(23); */ mccCatenateRows(&RM0_, mccTempMatrix(((temp + ((mccPR(&th)[(6-1)]) * (double) (mccPR(&th)[(23-1)]))) - ((mccPR(&th)[(5-1)]) * (double) (mccPR(&th)[(23-1)]))), 0., mccREAL, 0 ), mccTempMatrix(temp, 0., mccREAL, 0 )); mccCatenateRows(&RM1_, &RM0_, mccTempMatrix(temp, 0., mccREAL, 0 )); mccCatenateRows(&RM2_, &RM1_, mccTempMatrix(temp, 0., mccREAL, 0 )); mccCatenateRows(&RM3_, &RM2_, mccTempMatrix(temp, 0., mccREAL, 0 )); mccCatenateRows(&RM4_, &RM3_, mccTempMatrix(temp, 0., mccREAL, 0 )); mccCatenateRows(&RM5_, &RM4_, mccTempMatrix(temp, 0., mccREAL, 0 )); mccCatenateRows(&RM6_, &RM5_, mccTempMatrix(temp, 0., mccREAL, 0 )); mccCatenateRows(&RM7_, &RM6_, mccTempMatrix(temp, 0., mccREAL, 0 )); mccCatenateRows(&b, &RM7_, mccTempMatrix(((((((((mccPR(&th)[(21-1)]) - ((((((((mccPR(&th)[(14-1)]) + (mccPR(&th)[(13-1)])) + (mccPR(&th)[(12-1)])) + (mccPR(&th)[(11-1)])) + (mccPR(&th)[(10-1)])) + (mccPR(&th)[(9-1)])) + (mccPR(&th)[(82-1)])) + (mccPR(&th)[(86-1)]))) + ((mccPR(&th)[(2-1)]) * (double) (mccPR(&th)[(23-1)]))) + ((mccPR(&th)[(6-1)]) * (double) (mccPR(&th)[(23-1)]))) + ((mccPR(&th)[(7-1)]) * (double) (mccPR(&th)[(23-1)]))) + ((mccPR(&th)[(8-1)]) * (double) (mccPR(&th)[(23-1)]))) + ((mccPR(&th)[(81-1)]) * (double) (mccPR(&th)[(23-1)]))) + ((mccPR(&th)[(85-1)]) * (double) (mccPR(&th)[(23-1)]))), 0., mccREAL, 0 )); /* A = [-th(2), th(1), th(6), th(5), 0, 0, 0, 0, 0, 0; */ mccCatenateColumns(&RM7_, mccTempMatrix((-(mccPR(&th)[(2-1)])), 0., mccREAL, 0 ), mccTempVectorElement(&th, 1)); mccCatenateColumns(&RM6_, &RM7_, mccTempVectorElement(&th, 6)); mccCatenateColumns(&RM5_, &RM6_, mccTempVectorElement(&th, 5)); mccCatenateColumns(&RM4_, &RM5_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM3_, &RM4_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM2_, &RM3_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM1_, &RM2_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM0_, &RM1_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM8_, &RM0_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM9_, mccTempMatrix((-(mccPR(&th)[(2-1)])), 0., mccREAL, 0 ), mccTempMatrix(((mccPR(&th)[(1-1)]) + (Ts / (double) (mccPR(&th)[(15-1)]))), 0., mccREAL, 0 )); mccCatenateColumns(&RM10_, &RM9_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM11_, &RM10_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM12_, &RM11_, mccTempMatrix(((-Ts) / (double) (mccPR(&th)[(15-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM13_, &RM12_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM14_, &RM13_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM15_, &RM14_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM16_, &RM15_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM17_, &RM16_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateRows(&RM18_, &RM8_, &RM17_); mccCatenateColumns(&RM19_, mccTempMatrix((-(mccPR(&th)[(2-1)])), 0., mccREAL, 0 ), mccTempVectorElement(&th, 1)); mccCatenateColumns(&RM20_, &RM19_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM21_, &RM20_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM22_, &RM21_, mccTempMatrix((1 / (double) ((mccPR(&th)[(22-1)]) * (double) (mccPR(&th)[(16-1)]))), 0., mccREAL, 0 )); mccCatenateColumns(&RM23_, &RM22_, mccTempMatrix(( -1 / (double) ((mccPR(&th)[(22-1)]) * (double) (mccPR(&th)[(16-1)]))), 0., mccREAL, 0 )); mccCatenateColumns(&RM24_, &RM23_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM25_, &RM24_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM26_, &RM25_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM27_, &RM26_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateRows(&RM28_, &RM18_, &RM27_); mccCatenateColumns(&RM29_, mccTempMatrix((-(mccPR(&th)[(2-1)])), 0., mccREAL, 0 ), mccTempVectorElement(&th, 1)); mccCatenateColumns(&RM30_, &RM29_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM31_, &RM30_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM32_, &RM31_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM33_, &RM32_, mccTempMatrix((1 / (double) ((mccPR(&th)[(22-1)]) * (double) (mccPR(&th)[(17-1)]))), 0., mccREAL, 0 )); mccCatenateColumns(&RM34_, &RM33_, mccTempMatrix(( -1 / (double) ((mccPR(&th)[(22-1)]) * (double) (mccPR(&th)[(17-1)]))), 0., mccREAL, 0 )); mccCatenateColumns(&RM35_, &RM34_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM36_, &RM35_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM37_, &RM36_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateRows(&RM38_, &RM28_, &RM37_); mccCatenateColumns(&RM39_, mccTempMatrix((-(mccPR(&th)[(2-1)])), 0., mccREAL, 0 ), mccTempVectorElement(&th, 1)); mccCatenateColumns(&RM40_, &RM39_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM41_, &RM40_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM42_, &RM41_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM43_, &RM42_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM44_, &RM43_, mccTempMatrix((Td / (double) (mccPR(&th)[(87-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM45_, &RM44_, mccTempMatrix(((-Td) / (double) (mccPR(&th)[(87-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM46_, &RM45_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM47_, &RM46_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateRows(&RM48_, &RM38_, &RM47_); mccCatenateColumns(&RM49_, mccTempMatrix((-(mccPR(&th)[(2-1)])), 0., mccREAL, 0 ), mccTempVectorElement(&th, 1)); mccCatenateColumns(&RM50_, &RM49_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM51_, &RM50_, mccTempMatrix((Ts / (double) (mccPR(&th)[(18-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM52_, &RM51_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM53_, &RM52_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM54_, &RM53_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM55_, &RM54_, mccTempMatrix(((-Ts) / (double) (mccPR(&th)[(18-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM56_, &RM55_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM57_, &RM56_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateRows(&RM58_, &RM48_, &RM57_); mccCatenateColumns(&RM59_, mccTempMatrix((-(mccPR(&th)[(2-1)])), 0., mccREAL, 0 ), mccTempVectorElement(&th, 1)); mccCatenateColumns(&RM60_, &RM59_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM61_, &RM60_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM62_, &RM61_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM63_, &RM62_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM64_, &RM63_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM65_, &RM64_, mccTempMatrix((1 / (double) ((mccPR(&th)[(22-1)]) * (double) (mccPR(&th)[(19-1)]))), 0., mccREAL, 0 )); mccCatenateColumns(&RM66_, &RM65_, mccTempMatrix(( -1 / (double) ((mccPR(&th)[(22-1)]) * (double) (mccPR(&th)[(19-1)]))), 0., mccREAL, 0 )); mccCatenateColumns(&RM67_, &RM66_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateRows(&RM68_, &RM58_, &RM67_); mccCatenateColumns(&RM69_, mccTempMatrix((-(mccPR(&th)[(2-1)])), 0., mccREAL, 0 ), mccTempVectorElement(&th, 1)); mccCatenateColumns(&RM70_, &RM69_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM71_, &RM70_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM72_, &RM71_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM73_, &RM72_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM74_, &RM73_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM75_, &RM74_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM76_, &RM75_, mccTempMatrix((1 / (double) ((mccPR(&th)[(22-1)]) * (double) (mccPR(&th)[(20-1)]))), 0., mccREAL, 0 )); mccCatenateColumns(&RM77_, &RM76_, mccTempMatrix(( -1 / (double) ((mccPR(&th)[(22-1)]) * (double) (mccPR(&th)[(20-1)]))), 0., mccREAL, 0 )); mccCatenateRows(&RM78_, &RM68_, &RM77_); mccCatenateColumns(&RM79_, mccTempMatrix(((-(mccPR(&th)[(2-1)])) - (Td / (double) (mccPR(&th)[(83-1)]))), 0., mccREAL, 0 ), mccTempVectorElement(&th, 1)); mccCatenateColumns(&RM80_, &RM79_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM81_, &RM80_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM82_, &RM81_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM83_, &RM82_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM84_, &RM83_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM85_, &RM84_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM86_, &RM85_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM87_, &RM86_, mccTempMatrix((Td / (double) (mccPR(&th)[(83-1)])), 0., mccREAL, 0 )); mccCatenateRows(&RM88_, &RM78_, &RM87_); mccCatenateColumns(&RM89_, mccTempVectorElement(&th, 2), mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM90_, &RM89_, mccTempVectorElement(&th, 6)); mccCatenateColumns(&RM91_, &RM90_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateColumns(&RM92_, &RM91_, mccTempVectorElement(&th, 3)); mccCatenateColumns(&RM93_, &RM92_, mccTempVectorElement(&th, 4)); mccCatenateColumns(&RM94_, &RM93_, mccTempVectorElement(&th, 85)); mccCatenateColumns(&RM95_, &RM94_, mccTempVectorElement(&th, 7)); mccCatenateColumns(&RM96_, &RM95_, mccTempVectorElement(&th, 8)); mccCatenateColumns(&RM97_, &RM96_, mccTempVectorElement(&th, 81)); mccCatenateRows(&A, &RM88_, &RM97_); /* x = A\b; */ mccRealLeftDivide(&x, &A, &b); /* P = [x(1) x(5) x(6) x(3) x(8) x(9) x(7) x(10)]'; */ mccCatenateColumns(&RM97_, mccTempVectorElement(&x, 1), mccTempVectorElement(&x, 5)); mccCatenateColumns(&RM96_, &RM97_, mccTempVectorElement(&x, 6)); mccCatenateColumns(&RM95_, &RM96_, mccTempVectorElement(&x, 3)); mccCatenateColumns(&RM94_, &RM95_, mccTempVectorElement(&x, 8)); mccCatenateColumns(&RM93_, &RM94_, mccTempVectorElement(&x, 9)); mccCatenateColumns(&RM92_, &RM93_, mccTempVectorElement(&x, 7)); mccCatenateColumns(&RM91_, &RM92_, mccTempVectorElement(&x, 10)); mccConjTrans(&P, &RM91_); /* % Establishing initial flow rates. */ /* q = zeros(8,1); */ mccZerosMN(&q, 8, 1); /* if (P(8) >= P(1)) */ if (( ((mccPR(&P)[(8-1)]) >= (mccPR(&P)[(1-1)])) && !mccREL_NAN((mccPR(&P)[(8-1)])) && !mccREL_NAN((mccPR(&P)[(1-1)])) )) { /* q(1) = (P(8)-P(1))/th(83); */ mccPR(&q)[(1-1)] = (((mccPR(&P)[(8-1)]) - (mccPR(&P)[(1-1)])) / (double) (mccPR(&th)[(83-1)])); } else { /* else */ /* q(1) = 0; */ mccPR(&q)[(1-1)] = 0; /* end */ } /* if (P(1) >= P(2)) */ if (( ((mccPR(&P)[(1-1)]) >= (mccPR(&P)[(2-1)])) && !mccREL_NAN((mccPR(&P)[(1-1)])) && !mccREL_NAN((mccPR(&P)[(2-1)])) )) { /* q(2) = (P(1)-P(2))/th(15); */ mccPR(&q)[(2-1)] = (((mccPR(&P)[(1-1)]) - (mccPR(&P)[(2-1)])) / (double) (mccPR(&th)[(15-1)])); } else { /* else */ /* q(2) = 0; */ mccPR(&q)[(2-1)] = 0; /* end */ } /* q(3) = (P(2)-P(3))/th(16); */ mccPR(&q)[(3-1)] = (((mccPR(&P)[(2-1)]) - (mccPR(&P)[(3-1)])) / (double) (mccPR(&th)[(16-1)])); /* if (P(7) > P(4)) */ if (( ((mccPR(&P)[(7-1)]) > (mccPR(&P)[(4-1)])) && !mccREL_NAN((mccPR(&P)[(7-1)])) && !mccREL_NAN((mccPR(&P)[(4-1)])) )) { /* q(4) = (P(7)-P(4))/th(87); */ mccPR(&q)[(4-1)] = (((mccPR(&P)[(7-1)]) - (mccPR(&P)[(4-1)])) / (double) (mccPR(&th)[(87-1)])); } else { /* else */ /* q(4) = 0; */ mccPR(&q)[(4-1)] = 0; /* end */ } /* if (P(4) > P(5)) */ if (( ((mccPR(&P)[(4-1)]) > (mccPR(&P)[(5-1)])) && !mccREL_NAN((mccPR(&P)[(4-1)])) && !mccREL_NAN((mccPR(&P)[(5-1)])) )) { /* q(5) = (P(4)-P(5))/th(18); */ mccPR(&q)[(5-1)] = (((mccPR(&P)[(4-1)]) - (mccPR(&P)[(5-1)])) / (double) (mccPR(&th)[(18-1)])); } else { /* else */ /* q(5) = 0; */ mccPR(&q)[(5-1)] = 0; /* end */ } /* q(6) = (P(5)-P(6))/th(19); */ mccPR(&q)[(6-1)] = (((mccPR(&P)[(5-1)]) - (mccPR(&P)[(6-1)])) / (double) (mccPR(&th)[(19-1)])); /* q(7) = (P(3)-P(7))/th(87); */ mccPR(&q)[(7-1)] = (((mccPR(&P)[(3-1)]) - (mccPR(&P)[(7-1)])) / (double) (mccPR(&th)[(87-1)])); /* q(8) = (P(8)-P(1))/th(83); */ mccPR(&q)[(8-1)] = (((mccPR(&P)[(8-1)]) - (mccPR(&P)[(1-1)])) / (double) (mccPR(&th)[(83-1)])); /* % Establishing initial variable elastance values. */ /* ve = [1/th(2) 1/th(6) 1/th(81) 1/th(85)]'; */ mccCatenateColumns(&RM91_, mccTempMatrix((1 / (double) (mccPR(&th)[(2-1)])), 0., mccREAL, 0 ), mccTempMatrix((1 / (double) (mccPR(&th)[(6-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM92_, &RM91_, mccTempMatrix((1 / (double) (mccPR(&th)[(81-1)])), 0., mccREAL, 0 )); mccCatenateColumns(&RM93_, &RM92_, mccTempMatrix((1 / (double) (mccPR(&th)[(85-1)])), 0., mccREAL, 0 )); mccConjTrans(&ve, &RM93_); /* % Establishing initial volumes. */ /* Q = [th(2) th(3) th(4) th(6) th(7) th(8) th(85) th(81)]'.*(P-th(23)*[1 0 0 1 1 1 1 1]')+[th(9:14); th(86); th(82)]; */ mccCatenateColumns(&RM93_, mccTempVectorElement(&th, 2), mccTempVectorElement(&th, 3)); mccCatenateColumns(&RM92_, &RM93_, mccTempVectorElement(&th, 4)); mccCatenateColumns(&RM91_, &RM92_, mccTempVectorElement(&th, 6)); mccCatenateColumns(&RM94_, &RM91_, mccTempVectorElement(&th, 7)); mccCatenateColumns(&RM95_, &RM94_, mccTempVectorElement(&th, 8)); mccCatenateColumns(&RM96_, &RM95_, mccTempVectorElement(&th, 85)); mccCatenateColumns(&RM97_, &RM96_, mccTempVectorElement(&th, 81)); mccConjTrans(&RM90_, &RM97_); R0_ = (mccPR(&th)[(23-1)]); mccConjTrans(&IM0_, &S274_); { int i_, j_; int m_=1, n_=1, cx_ = 0; double *p_RM89_; int I_RM89_=1; double *p_th; int I_th=1; m_ = mccCalcSubscriptDimensions(m_, &n_, 1, ((int)(14 - 9) + 1), &th); mccAllocateMatrix(&RM89_, m_, n_); I_RM89_ = (mccM(&RM89_) != 1 || mccN(&RM89_) != 1); p_RM89_ = mccPR(&RM89_); I_th = (mccM(&th) != 1 || mccN(&th) != 1); p_th = mccPR(&th) + ((int)(9 - .5)); if (m_ != 0) { for (j_=0; j_ * apr_eval_deriv * deltaT real scalar * eval_deriv * hlu_eval_deriv * intact_eval_deriv * ipfm real scalar * k1 real vector/matrix * k2 real vector/matrix * k3 real vector/matrix * k4 real vector/matrix * lv_eval_deriv * mbrealscalar * nac_eval_deriv * nipfm1 real scalar * nipfm2 real scalar * preparation real scalar * rk4_ * sc_eval_deriv * sumdeltaT real vector/matrix * sumdeltaT1 real vector/matrix * sumdeltaT2 real vector/matrix * th real vector/matrix * third_eval_deriv * third_nac_eval_deriv *******************************************************/ static void rk4_(mxArray *Pn_PP_, mxArray *Pc_P_, mxArray *Qc_P_, mxArray *Pbreathe_P_, mxArray *th_P_, double ipfm, mxArray *sumdeltaT_P_, double deltaT, double preparation ) { mxArray Pn; mxArray k1; mxArray sumdeltaT1; double nipfm1 = 0.0; mxArray k2; mxArray k3; mxArray sumdeltaT2; double nipfm2 = 0.0; mxArray k4; unsigned short B0_ = 0; mxArray RM0_; mxArray RM1_; double R0_ = 0.0; mxArray RM2_; mccRealInit(Pn); mccRealInit(k1); mccRealInit(sumdeltaT1); mccRealInit(k2); mccRealInit(k3); mccRealInit(sumdeltaT2); mccRealInit(k4); mccRealInit(RM0_); mccRealInit(RM1_); mccRealInit(RM2_); /* % Calculating at current time step. */ /* if (preparation == 0 | preparation == 4) */ B0_ = ( (preparation == 0) && !mccREL_NAN(preparation) ); if (!(double)B0_) { B0_ = ( (preparation == 4) && !mccREL_NAN(preparation) ); } if ((double)B0_) { /* k1 = deltaT*intact_eval_deriv(Pc,Qc,Pbreathe(:,1),th,sumdeltaT); */ { int i_, j_; int m_=1, n_=1, cx_ = 0; double *p_RM0_; int I_RM0_=1; double *p_Pbreathe; int I_Pbreathe=1, J_Pbreathe; m_ = mcmCalcResultSize(m_, &n_, mccM(Pbreathe_P_), 1); mccAllocateMatrix(&RM0_, m_, n_); I_RM0_ = (mccM(&RM0_) != 1 || mccN(&RM0_) != 1); p_RM0_ = mccPR(&RM0_); if (mccM(Pbreathe_P_) == 1) { I_Pbreathe = J_Pbreathe = 0;} else { I_Pbreathe = 1; J_Pbreathe=mccM(Pbreathe_P_)-m_; } p_Pbreathe = mccPR(Pbreathe_P_) + 0 + mccM(Pbreathe_P_) * (1-1); if (m_ != 0) { for (j_=0; j_= 1); */ /* if (nipfm1 >= 1) */ if (( (nipfm1 >= 1) && !mccREL_NAN(nipfm1) )) { /* sumdeltaT1 = (nipfm1 - 1)/th(22); */ { double tr_ = ((nipfm1 - 1) / (double) (mccPR(th_P_)[(22-1)])); mccAllocateMatrix(&sumdeltaT1, 1, 1); *mccPR(&sumdeltaT1) = tr_; } /* nipfm1 = nipfm1 - 1; */ nipfm1 = (nipfm1 - 1); /* end */ } /* if (preparation == 0 | preparation == 4) */ B0_ = ( (preparation == 0) && !mccREL_NAN(preparation) ); if (!(double)B0_) { B0_ = ( (preparation == 4) && !mccREL_NAN(preparation) ); } if ((double)B0_) { /* k2 = deltaT*intact_eval_deriv((Pc+(k1/2)),Qc,Pbreathe(:,2),th,sumdeltaT1); */ { int i_, j_; int m_=1, n_=1, cx_ = 0; double *p_RM0_; int I_RM0_=1; double *p_Pc; int I_Pc=1; double *p_k1; int I_k1=1; m_ = mcmCalcResultSize(m_, &n_, mccM(Pc_P_), mccN(Pc_P_)); m_ = mcmCalcResultSize(m_, &n_, mccM(&k1), mccN(&k1)); mccAllocateMatrix(&RM0_, m_, n_); I_RM0_ = (mccM(&RM0_) != 1 || mccN(&RM0_) != 1); p_RM0_ = mccPR(&RM0_); I_Pc = (mccM(Pc_P_) != 1 || mccN(Pc_P_) != 1); p_Pc = mccPR(Pc_P_); I_k1 = (mccM(&k1) != 1 || mccN(&k1) != 1); p_k1 = mccPR(&k1); if (m_ != 0) { for (j_=0; j_= 1); */ /* if (nipfm2 >= 1) */ if (( (nipfm2 >= 1) && !mccREL_NAN(nipfm2) )) { /* sumdeltaT2 = (nipfm2 - 1)/th(22); */ { double tr_ = ((nipfm2 - 1) / (double) (mccPR(th_P_)[(22-1)])); mccAllocateMatrix(&sumdeltaT2, 1, 1); *mccPR(&sumdeltaT2) = tr_; } /* nipfm2 = nipfm2 - 1; */ nipfm2 = (nipfm2 - 1); /* end */ } /* if (preparation == 0 | preparation == 4) */ B0_ = ( (preparation == 0) && !mccREL_NAN(preparation) ); if (!(double)B0_) { B0_ = ( (preparation == 4) && !mccREL_NAN(preparation) ); } if ((double)B0_) { /* k4 = deltaT*intact_eval_deriv((Pc+k3),Qc,Pbreathe(:,3),th,sumdeltaT2); */ { int i_, j_; int m_=1, n_=1, cx_ = 0; double *p_RM0_; int I_RM0_=1; double *p_Pc; int I_Pc=1; double *p_k3; int I_k3=1; m_ = mcmCalcResultSize(m_, &n_, mccM(Pc_P_), mccN(Pc_P_)); m_ = mcmCalcResultSize(m_, &n_, mccM(&k3), mccN(&k3)); mccAllocateMatrix(&RM0_, m_, n_); I_RM0_ = (mccM(&RM0_) != 1 || mccN(&RM0_) != 1); p_RM0_ = mccPR(&RM0_); I_Pc = (mccM(Pc_P_) != 1 || mccN(Pc_P_) != 1); p_Pc = mccPR(Pc_P_); I_k3 = (mccM(&k3) != 1 || mccN(&k3) != 1); p_k3 = mccPR(&k3); if (m_ != 0) { for (j_=0; j_ * g real scalar * h1 real scalar * h2 real scalar * intact_eval_deriv_ * k integer scalar * mbrealscalar * pi * qa real scalar * qli real scalar * qlo real scalar * qpa real scalar * qri real scalar * qro real scalar * reallog * sumdeltaT real vector/matrix * th real vector/matrix * var_cap * vent_vol * x real scalar * x0 real scalar * y real scalar *******************************************************/ static void intact_eval_deriv_(mxArray *dP_PP_, mxArray *P_P_, mxArray *Qc_P_, mxArray *Pbreathe_P_, mxArray *th_P_, mxArray *sumdeltaT_P_ ) { mxArray dP; double qli = 0.0; double qlo = 0.0; double qa = 0.0; double qri = 0.0; double qro = 0.0; double h1 = 0.0; double h2 = 0.0; double qpa = 0.0; double El = 0.0; double dEl = 0.0; double Er = 0.0; double dEr = 0.0; double g = 0.0; double dPl = 0.0; double y = 0.0; double x = 0.0; double x0 = 0.0; int k = 0; double dx = 0.0; double dx0 = 0.0; double c = 0.0; double d = 0.0; double dc = 0.0; double dd = 0.0; double dg = 0.0; double denb = 0.0; double b = 0.0; double db = 0.0; double dy = 0.0; double dPr = 0.0; unsigned short B0_ = 0; double R0_ = 0.0; mxArray RM0_; mxArray RM1_; mxArray RM2_; mxArray RM3_; mxArray RM4_; mxArray RM5_; mccRealInit(dP); mccRealInit(RM0_); mccRealInit(RM1_); mccRealInit(RM2_); mccRealInit(RM3_); mccRealInit(RM4_); mccRealInit(RM5_); /* % Computing flow rates from the current pressure values. */ /* if (P(6) >= P(1)) */ if (( ((mccPR(P_P_)[(6-1)]) >= (mccPR(P_P_)[(1-1)])) && !mccREL_NAN((mccPR(P_P_)[(6-1)])) && !mccREL_NAN((mccPR(P_P_)[(1-1)])) )) { /* qli = (P(6)-P(1))/th(20); */ qli = (((mccPR(P_P_)[(6-1)]) - (mccPR(P_P_)[(1-1)])) / (double) (mccPR(th_P_)[(20-1)])); } else { /* else */ /* qli = 0; */ qli = 0; /* end */ } /* if (P(1) >= P(2)) */ if (( ((mccPR(P_P_)[(1-1)]) >= (mccPR(P_P_)[(2-1)])) && !mccREL_NAN((mccPR(P_P_)[(1-1)])) && !mccREL_NAN((mccPR(P_P_)[(2-1)])) )) { /* qlo = (P(1)-P(2))/th(15); */ qlo = (((mccPR(P_P_)[(1-1)]) - (mccPR(P_P_)[(2-1)])) / (double) (mccPR(th_P_)[(15-1)])); } else { /* else */ /* qlo = 0; */ qlo = 0; /* end */ } /* qa = (P(2)-P(3))/th(16); */ qa = (((mccPR(P_P_)[(2-1)]) - (mccPR(P_P_)[(3-1)])) / (double) (mccPR(th_P_)[(16-1)])); /* if (P(3) > P(4) & P(4) >= th(91)) */ B0_ = ( ((mccPR(P_P_)[(3-1)]) > (mccPR(P_P_)[(4-1)])) && !mccREL_NAN((mccPR(P_P_)[(3-1)])) && !mccREL_NAN((mccPR(P_P_)[(4-1)])) ); if ((double)B0_) { B0_ = ( ((mccPR(P_P_)[(4-1)]) >= (mccPR(th_P_)[(91-1)])) && !mccREL_NAN((mccPR(P_P_)[(4-1)])) && !mccREL_NAN((mccPR(th_P_)[(91-1)])) ); } if ((double)B0_) { /* qri = (P(3)-P(4))/th(17); */ qri = (((mccPR(P_P_)[(3-1)]) - (mccPR(P_P_)[(4-1)])) / (double) (mccPR(th_P_)[(17-1)])); } else { /* elseif (P(3) > th(91) & th(91) > P(4)) */ B0_ = ( ((mccPR(P_P_)[(3-1)]) > (mccPR(th_P_)[(91-1)])) && !mccREL_NAN((mccPR(P_P_)[(3-1)])) && !mccREL_NAN((mccPR(th_P_)[(91-1)])) ); if ((double)B0_) { B0_ = ( ((mccPR(th_P_)[(91-1)]) > (mccPR(P_P_)[(4-1)])) && !mccREL_NAN((mccPR(th_P_)[(91-1)])) && !mccREL_NAN((mccPR(P_P_)[(4-1)])) ); } if ((double)B0_) { /* qri = (P(3)-th(91))/th(17); */ qri = (((mccPR(P_P_)[(3-1)]) - (mccPR(th_P_)[(91-1)])) / (double) (mccPR(th_P_)[(17-1)])); } else { /* else */ /* qri = 0; */ qri = 0; /* end */ } } /* if (P(4) >= P(5)) */ if (( ((mccPR(P_P_)[(4-1)]) >= (mccPR(P_P_)[(5-1)])) && !mccREL_NAN((mccPR(P_P_)[(4-1)])) && !mccREL_NAN((mccPR(P_P_)[(5-1)])) )) { /* qro = (P(4)-P(5))/th(18); */ qro = (((mccPR(P_P_)[(4-1)]) - (mccPR(P_P_)[(5-1)])) / (double) (mccPR(th_P_)[(18-1)])); } else { /* else */ /* qro = 0; */ qro = 0; /* end */ } /* h1 = (1330/(1.06*980))*(P(6)-Pbreathe(4)); */ h1 = ((1330 / (double) (1.06 * (double) 980)) * (double) ((mccPR(P_P_)[(6-1)]) - (mccPR(Pbreathe_P_)[(4-1)]))); /* if (h1 < -10) */ if (( (h1 < -10) && !mccREL_NAN(h1) )) { /* h1 = -10; */ h1 = -10; } else { /* elseif (h1 > 20) */ if (( (h1 > 20) && !mccREL_NAN(h1) )) { /* h1 = 20; */ h1 = 20; /* end */ } } /* h2 = (1330/(1.06*980))*(P(5)-Pbreathe(4)); */ h2 = ((1330 / (double) (1.06 * (double) 980)) * (double) ((mccPR(P_P_)[(5-1)]) - (mccPR(Pbreathe_P_)[(4-1)]))); /* if (h2 < -10) */ if (( (h2 < -10) && !mccREL_NAN(h2) )) { /* h2 = -10; */ h2 = -10; } else { /* elseif (h2 > 20) */ if (( (h2 > 20) && !mccREL_NAN(h2) )) { /* h2 = 20; */ h2 = 20; /* end */ } } /* qpa = (((P(5)-P(6))/(30*th(19)))*(h1+10)) + (((P(5)-Pbreathe(4))/(30*th(19)))*(h2-h1)) - (((1.06*980)/(2660*(30*th(19))))*(h2^2-h1^2)); */ qpa = ((((((mccPR(P_P_)[(5-1)]) - (mccPR(P_P_)[(6-1)])) / (double) (30 * (double) (mccPR(th_P_)[(19-1)]))) * (double) (h1 + 10)) + ((((mccPR(P_P_)[(5-1)]) - (mccPR(Pbreathe_P_)[(4-1)])) / (double) (30 * (double) (mccPR(th_P_)[(19-1)]))) * (double) (h2 - h1))) - (((1.06 * (double) 980) / (double) (2660 * (double) (30 * (double) (mccPR(th_P_)[(19-1)])))) * (double) (mcmRealPowerInt(h2, 2) - mcmRealPowerInt(h1, 2)))); /* % Computing ventricular elastances. */ /* [El,dEl] = var_cap(th(1),th(2),th(24),sumdeltaT); */ var_cap_(&El,&dEl, (mccPR(th_P_)[(1-1)]), (mccPR(th_P_)[(2-1)]), (mccPR(th_P_)[(24-1)]), sumdeltaT_P_); /* [Er,dEr] = var_cap(th(5),th(6),th(24),sumdeltaT); */ var_cap_(&Er,&dEr, (mccPR(th_P_)[(5-1)]), (mccPR(th_P_)[(6-1)]), (mccPR(th_P_)[(24-1)]), sumdeltaT_P_); /* % Computing dP from the above calculations and th parameter vector. */ /* if (P(1) < Pbreathe(2)) */ if (( ((mccPR(P_P_)[(1-1)]) < (mccPR(Pbreathe_P_)[(2-1)])) && !mccREL_NAN((mccPR(P_P_)[(1-1)])) && !mccREL_NAN((mccPR(Pbreathe_P_)[(2-1)])) )) { /* g = ((P(1)-Pbreathe(2)))/(El*th(9)*(2/pi)); */ R0_ = mcmPi(); g = (((mccPR(P_P_)[(1-1)]) - (mccPR(Pbreathe_P_)[(2-1)])) / (double) ((El * (double) (mccPR(th_P_)[(9-1)])) * (double) (2 / (double) R0_))); /* dPl = El*(qli-qlo)*(1+g^2) + (P(1)-Pbreathe(2))*(dEl/El) + Pbreathe(3); */ dPl = ((((El * (double) (qli - qlo)) * (double) (1 + mcmRealPowerInt(g, 2))) + (((mccPR(P_P_)[(1-1)]) - (mccPR(Pbreathe_P_)[(2-1)])) * (double) (dEl / (double) El))) + (mccPR(Pbreathe_P_)[(3-1)])); } else { /* else */ /* y = (P(1)-Pbreathe(2))/th(31); */ y = (((mccPR(P_P_)[(1-1)]) - (mccPR(Pbreathe_P_)[(2-1)])) / (double) (mccPR(th_P_)[(31-1)])); /* x = vent_vol(Qc(1),y,El); */ vent_vol_(&x, (mccPR(Qc_P_)[(1-1)]), y, El); /* x0 = 1/(El+1); */ x0 = (1 / (double) (El + 1)); /* k = 50; */ k = 50; /* mbrealscalar(-k*(x-x0)); */ /* mbrealscalar(-k*(1-x0)); */ /* mbrealscalar(k*x0); */ /* dx = (qli-qlo)/(th(26)-th(9)); */ dx = ((qli - qlo) / (double) ((mccPR(th_P_)[(26-1)]) - (mccPR(th_P_)[(9-1)]))); /* dx0 = -dEl/((El+1)^2); */ dx0 = ((-dEl) / (double) mcmRealPowerInt((El + 1), 2)); /* c = 1+exp(-k*(1-x0)); */ R0_ = exp(((-k) * (double) (1 - x0))); c = (1 + R0_); /* d = 1+exp(k*x0); */ R0_ = exp((k * (double) x0)); d = (1 + R0_); /* g = 1+exp(-k*(x-x0)); */ R0_ = exp(((-k) * (double) (x - x0))); g = (1 + R0_); /* dc = k*dx0*exp(-k*(1-x0)); */ R0_ = exp(((-k) * (double) (1 - x0))); dc = ((k * (double) dx0) * (double) R0_); /* dd = k*dx0*exp(k*x0); */ R0_ = exp((k * (double) x0)); dd = ((k * (double) dx0) * (double) R0_); /* dg = -k*(dx-dx0)*exp(-k*(x-x0)); */ R0_ = exp(((-k) * (double) (x - x0))); dg = (((-k) * (double) (dx - dx0)) * (double) R0_); /* denb = (1+(1/k)*log(c/d)); */ R0_ = log((c / (double) d)); denb = (1 + ((1 / (double) k) * (double) R0_)); /* b = (1-El)/denb; */ b = ((1 - El) / (double) denb); /* db = (-dEl*denb - (1-El)*(1/k)*((d*dc-c*dd)/(c*d)))/(denb^2); */ db = ((((-dEl) * (double) denb) - (((1 - El) * (double) (1 / (double) k)) * (double) (((d * (double) dc) - (c * (double) dd)) / (double) (c * (double) d)))) / (double) mcmRealPowerInt(denb, 2)); /* dy = dEl*x + El*dx + db*(x+(1/k)*(log(g/d))) + b*(dx+(1/k)*((d*dg-g*dd)/(g*d))); */ R0_ = log((g / (double) d)); dy = ((((dEl * (double) x) + (El * (double) dx)) + (db * (double) (x + ((1 / (double) k) * (double) R0_)))) + (b * (double) (dx + ((1 / (double) k) * (double) (((d * (double) dg) - (g * (double) dd)) / (double) (g * (double) d)))))); /* dPl = th(31)*dy + Pbreathe(3); */ dPl = (((mccPR(th_P_)[(31-1)]) * (double) dy) + (mccPR(Pbreathe_P_)[(3-1)])); /* end */ } /* if (P(4) < Pbreathe(2)) */ if (( ((mccPR(P_P_)[(4-1)]) < (mccPR(Pbreathe_P_)[(2-1)])) && !mccREL_NAN((mccPR(P_P_)[(4-1)])) && !mccREL_NAN((mccPR(Pbreathe_P_)[(2-1)])) )) { /* g = ((P(4)-Pbreathe(2)))/(Er*th(12)*(2/pi)); */ R0_ = mcmPi(); g = (((mccPR(P_P_)[(4-1)]) - (mccPR(Pbreathe_P_)[(2-1)])) / (double) ((Er * (double) (mccPR(th_P_)[(12-1)])) * (double) (2 / (double) R0_))); /* dPr = Er*(qri-qro)*(1+g^2) + (P(4)-Pbreathe(2))*(dEr/Er) + Pbreathe(3); */ dPr = ((((Er * (double) (qri - qro)) * (double) (1 + mcmRealPowerInt(g, 2))) + (((mccPR(P_P_)[(4-1)]) - (mccPR(Pbreathe_P_)[(2-1)])) * (double) (dEr / (double) Er))) + (mccPR(Pbreathe_P_)[(3-1)])); } else { /* else */ /* y = (P(4)-Pbreathe(2))/th(32); */ y = (((mccPR(P_P_)[(4-1)]) - (mccPR(Pbreathe_P_)[(2-1)])) / (double) (mccPR(th_P_)[(32-1)])); /* x = vent_vol(Qc(2),y,Er); */ vent_vol_(&x, (mccPR(Qc_P_)[(2-1)]), y, Er); /* x0 = 1/(Er+1); */ x0 = (1 / (double) (Er + 1)); /* k = 50; */ k = 50; /* mbrealscalar(-k*(x-x0)); */ /* mbrealscalar(-k*(1-x0)); */ /* mbrealscalar(k*x0); */ /* dx = (qri-qro)/(th(27)-th(12)); */ dx = ((qri - qro) / (double) ((mccPR(th_P_)[(27-1)]) - (mccPR(th_P_)[(12-1)]))); /* dx0 = -dEr/((Er+1)^2); */ dx0 = ((-dEr) / (double) mcmRealPowerInt((Er + 1), 2)); /* c = 1+exp(-k*(1-x0)); */ R0_ = exp(((-k) * (double) (1 - x0))); c = (1 + R0_); /* d = 1+exp(k*x0); */ R0_ = exp((k * (double) x0)); d = (1 + R0_); /* g = 1+exp(-k*(x-x0)); */ R0_ = exp(((-k) * (double) (x - x0))); g = (1 + R0_); /* dc = k*dx0*exp(-k*(1-x0)); */ R0_ = exp(((-k) * (double) (1 - x0))); dc = ((k * (double) dx0) * (double) R0_); /* dd = k*dx0*exp(k*x0); */ R0_ = exp((k * (double) x0)); dd = ((k * (double) dx0) * (double) R0_); /* dg = -k*(dx-dx0)*exp(-k*(x-x0)); */ R0_ = exp(((-k) * (double) (x - x0))); dg = (((-k) * (double) (dx - dx0)) * (double) R0_); /* denb = (1+(1/k)*log(c/d)); */ R0_ = log((c / (double) d)); denb = (1 + ((1 / (double) k) * (double) R0_)); /* b = (1-Er)/denb; */ b = ((1 - Er) / (double) denb); /* db = (-dEr*denb - (1-Er)*(1/k)*((d*dc-c*dd)/(c*d)))/(denb^2); */ db = ((((-dEr) * (double) denb) - (((1 - Er) * (double) (1 / (double) k)) * (double) (((d * (double) dc) - (c * (double) dd)) / (double) (c * (double) d)))) / (double) mcmRealPowerInt(denb, 2)); /* dy = dEr*x + Er*dx + db*(x+(1/k)*(log(g/d))) + b*(dx+(1/k)*((d*dg-g*dd)/(g*d))); */ R0_ = log((g / (double) d)); dy = ((((dEr * (double) x) + (Er * (double) dx)) + (db * (double) (x + ((1 / (double) k) * (double) R0_)))) + (b * (double) (dx + ((1 / (double) k) * (double) (((d * (double) dg) - (g * (double) dd)) / (double) (g * (double) d)))))); /* dPr = th(32)*dy + Pbreathe(3); */ dPr = (((mccPR(th_P_)[(32-1)]) * (double) dy) + (mccPR(Pbreathe_P_)[(3-1)])); /* end */ } /* dP = [dPl; ((qlo-qa)/th(3))+Pbreathe(3); (qa-qri)/th(4); dPr; ((qro-qpa)/th(7))+Pbreathe(3); ((qpa-qli)/th(8))+Pbreathe(3); 0; 0]; */ mccCatenateRows(&RM0_, mccTempMatrix(dPl, 0., mccREAL, 0 ), mccTempMatrix((((qlo - qa) / (double) (mccPR(th_P_)[(3-1)])) + (mccPR(Pbreathe_P_)[(3-1)])), 0., mccREAL, 0 )); mccCatenateRows(&RM1_, &RM0_, mccTempMatrix(((qa - qri) / (double) (mccPR(th_P_)[(4-1)])), 0., mccREAL, 0 )); mccCatenateRows(&RM2_, &RM1_, mccTempMatrix(dPr, 0., mccREAL, 0 )); mccCatenateRows(&RM3_, &RM2_, mccTempMatrix((((qro - qpa) / (double) (mccPR(th_P_)[(7-1)])) + (mccPR(Pbreathe_P_)[(3-1)])), 0., mccREAL, 0 )); mccCatenateRows(&RM4_, &RM3_, mccTempMatrix((((qpa - qli) / (double) (mccPR(th_P_)[(8-1)])) + (mccPR(Pbreathe_P_)[(3-1)])), 0., mccREAL, 0 )); mccCatenateRows(&RM5_, &RM4_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateRows(&dP, &RM5_, mccTempMatrix(0, 0., mccINT, 0 )); mccCopy(dP_PP_, &dP ); mccFreeMatrix(&dP); mccFreeMatrix(&RM0_); mccFreeMatrix(&RM1_); mccFreeMatrix(&RM2_); mccFreeMatrix(&RM3_); mccFreeMatrix(&RM4_); mccFreeMatrix(&RM5_); return; } /* R = hlu_eval_deriv(RRRRR) */ /***************** Compiler Assumptions **************** * M-File: /data/rmukkama/cvsim/rcvsim/src/hlu_eval_deriv.m * * B0_ boolean scalar temporary * El real scalar * Er real scalar * P real vector/matrix * Pbreathe real vector/matrix * Qc real vector/matrix * R0_ real scalar temporary * RM0_ real vector/matrix temporary * RM1_ real vector/matrix temporary * RM2_ real vector/matrix temporary * RM3_ real vector/matrix temporary * RM4_ real vector/matrix temporary * RM5_ real vector/matrix temporary * b real scalar * c real scalar * d real scalar * dEl real scalar * dEr real scalar * dP real vector/matrix * dPl real scalar * dPr real scalar * db real scalar * dc real scalar * dd real scalar * denb real scalar * dg real scalar * dx real scalar * dx0 real scalar * dy real scalar * exp * g real scalar * h1 real scalar * h2 real scalar * hlu_eval_deriv_ * k integer scalar * mbrealscalar * pi * qa real scalar * qli real scalar * qlo real scalar * qpa real scalar * qri real scalar * qro real scalar * reallog * sumdeltaT real vector/matrix * th real vector/matrix * var_cap * vent_vol * x real scalar * x0 real scalar * y real scalar *******************************************************/ static void hlu_eval_deriv_(mxArray *dP_PP_, mxArray *P_P_, mxArray *Qc_P_, mxArray *Pbreathe_P_, mxArray *th_P_, mxArray *sumdeltaT_P_ ) { mxArray dP; double qli = 0.0; double qlo = 0.0; double qa = 0.0; double qri = 0.0; double qro = 0.0; double h1 = 0.0; double h2 = 0.0; double qpa = 0.0; double El = 0.0; double dEl = 0.0; double Er = 0.0; double dEr = 0.0; double g = 0.0; double dPl = 0.0; double y = 0.0; double x = 0.0; double x0 = 0.0; int k = 0; double dx = 0.0; double dx0 = 0.0; double c = 0.0; double d = 0.0; double dc = 0.0; double dd = 0.0; double dg = 0.0; double denb = 0.0; double b = 0.0; double db = 0.0; double dy = 0.0; double dPr = 0.0; unsigned short B0_ = 0; double R0_ = 0.0; mxArray RM0_; mxArray RM1_; mxArray RM2_; mxArray RM3_; mxArray RM4_; mxArray RM5_; mccRealInit(dP); mccRealInit(RM0_); mccRealInit(RM1_); mccRealInit(RM2_); mccRealInit(RM3_); mccRealInit(RM4_); mccRealInit(RM5_); /* % Computing flow rates from the current pressure values. */ /* if (P(6) >= P(1)) */ if (( ((mccPR(P_P_)[(6-1)]) >= (mccPR(P_P_)[(1-1)])) && !mccREL_NAN((mccPR(P_P_)[(6-1)])) && !mccREL_NAN((mccPR(P_P_)[(1-1)])) )) { /* qli = (P(6)-P(1))/th(20); */ qli = (((mccPR(P_P_)[(6-1)]) - (mccPR(P_P_)[(1-1)])) / (double) (mccPR(th_P_)[(20-1)])); } else { /* else */ /* qli = 0; */ qli = 0; /* end */ } /* if (P(1) >= P(2)) */ if (( ((mccPR(P_P_)[(1-1)]) >= (mccPR(P_P_)[(2-1)])) && !mccREL_NAN((mccPR(P_P_)[(1-1)])) && !mccREL_NAN((mccPR(P_P_)[(2-1)])) )) { /* qlo = (P(1)-P(2))/th(15); */ qlo = (((mccPR(P_P_)[(1-1)]) - (mccPR(P_P_)[(2-1)])) / (double) (mccPR(th_P_)[(15-1)])); } else { /* else */ /* qlo = 0; */ qlo = 0; /* end */ } /* qa = (0-0)/th(16); */ qa = (0 / (double) (mccPR(th_P_)[(16-1)])); /* if (P(3) > P(4) & P(4) >= th(91)) */ B0_ = ( ((mccPR(P_P_)[(3-1)]) > (mccPR(P_P_)[(4-1)])) && !mccREL_NAN((mccPR(P_P_)[(3-1)])) && !mccREL_NAN((mccPR(P_P_)[(4-1)])) ); if ((double)B0_) { B0_ = ( ((mccPR(P_P_)[(4-1)]) >= (mccPR(th_P_)[(91-1)])) && !mccREL_NAN((mccPR(P_P_)[(4-1)])) && !mccREL_NAN((mccPR(th_P_)[(91-1)])) ); } if ((double)B0_) { /* qri = (P(3)-P(4))/th(17); */ qri = (((mccPR(P_P_)[(3-1)]) - (mccPR(P_P_)[(4-1)])) / (double) (mccPR(th_P_)[(17-1)])); } else { /* elseif (P(3) > th(91) & th(91) > P(4)) */ B0_ = ( ((mccPR(P_P_)[(3-1)]) > (mccPR(th_P_)[(91-1)])) && !mccREL_NAN((mccPR(P_P_)[(3-1)])) && !mccREL_NAN((mccPR(th_P_)[(91-1)])) ); if ((double)B0_) { B0_ = ( ((mccPR(th_P_)[(91-1)]) > (mccPR(P_P_)[(4-1)])) && !mccREL_NAN((mccPR(th_P_)[(91-1)])) && !mccREL_NAN((mccPR(P_P_)[(4-1)])) ); } if ((double)B0_) { /* qri = (P(3)-th(91))/th(17); */ qri = (((mccPR(P_P_)[(3-1)]) - (mccPR(th_P_)[(91-1)])) / (double) (mccPR(th_P_)[(17-1)])); } else { /* else */ /* qri = 0; */ qri = 0; /* end */ } } /* if (P(4) >= P(5)) */ if (( ((mccPR(P_P_)[(4-1)]) >= (mccPR(P_P_)[(5-1)])) && !mccREL_NAN((mccPR(P_P_)[(4-1)])) && !mccREL_NAN((mccPR(P_P_)[(5-1)])) )) { /* qro = (P(4)-P(5))/th(18); */ qro = (((mccPR(P_P_)[(4-1)]) - (mccPR(P_P_)[(5-1)])) / (double) (mccPR(th_P_)[(18-1)])); } else { /* else */ /* qro = 0; */ qro = 0; /* end */ } /* h1 = (1330/(1.06*980))*(P(6)-Pbreathe(4)); */ h1 = ((1330 / (double) (1.06 * (double) 980)) * (double) ((mccPR(P_P_)[(6-1)]) - (mccPR(Pbreathe_P_)[(4-1)]))); /* if (h1 < -10) */ if (( (h1 < -10) && !mccREL_NAN(h1) )) { /* h1 = -10; */ h1 = -10; } else { /* elseif (h1 > 20) */ if (( (h1 > 20) && !mccREL_NAN(h1) )) { /* h1 = 20; */ h1 = 20; /* end */ } } /* h2 = (1330/(1.06*980))*(P(5)-Pbreathe(4)); */ h2 = ((1330 / (double) (1.06 * (double) 980)) * (double) ((mccPR(P_P_)[(5-1)]) - (mccPR(Pbreathe_P_)[(4-1)]))); /* if (h2 < -10) */ if (( (h2 < -10) && !mccREL_NAN(h2) )) { /* h2 = -10; */ h2 = -10; } else { /* elseif (h2 > 20) */ if (( (h2 > 20) && !mccREL_NAN(h2) )) { /* h2 = 20; */ h2 = 20; /* end */ } } /* qpa = (((P(5)-P(6))/(30*th(19)))*(h1+10)) + (((P(5)-Pbreathe(4))/(30*th(19)))*(h2-h1)) - (((1.06*980)/(2660*(30*th(19))))*(h2^2-h1^2)); */ qpa = ((((((mccPR(P_P_)[(5-1)]) - (mccPR(P_P_)[(6-1)])) / (double) (30 * (double) (mccPR(th_P_)[(19-1)]))) * (double) (h1 + 10)) + ((((mccPR(P_P_)[(5-1)]) - (mccPR(Pbreathe_P_)[(4-1)])) / (double) (30 * (double) (mccPR(th_P_)[(19-1)]))) * (double) (h2 - h1))) - (((1.06 * (double) 980) / (double) (2660 * (double) (30 * (double) (mccPR(th_P_)[(19-1)])))) * (double) (mcmRealPowerInt(h2, 2) - mcmRealPowerInt(h1, 2)))); /* % Computing ventricular elastances. */ /* [El,dEl] = var_cap(th(1),th(2),th(24),sumdeltaT); */ var_cap_(&El,&dEl, (mccPR(th_P_)[(1-1)]), (mccPR(th_P_)[(2-1)]), (mccPR(th_P_)[(24-1)]), sumdeltaT_P_); /* [Er,dEr] = var_cap(th(5),th(6),th(24),sumdeltaT); */ var_cap_(&Er,&dEr, (mccPR(th_P_)[(5-1)]), (mccPR(th_P_)[(6-1)]), (mccPR(th_P_)[(24-1)]), sumdeltaT_P_); /* % Computing dP from the above calculations and th parameter vector. */ /* if (P(1) < Pbreathe(2)) */ if (( ((mccPR(P_P_)[(1-1)]) < (mccPR(Pbreathe_P_)[(2-1)])) && !mccREL_NAN((mccPR(P_P_)[(1-1)])) && !mccREL_NAN((mccPR(Pbreathe_P_)[(2-1)])) )) { /* g = ((P(1)-Pbreathe(2)))/(El*th(9)*(2/pi)); */ R0_ = mcmPi(); g = (((mccPR(P_P_)[(1-1)]) - (mccPR(Pbreathe_P_)[(2-1)])) / (double) ((El * (double) (mccPR(th_P_)[(9-1)])) * (double) (2 / (double) R0_))); /* dPl = El*(qli-qlo)*(1+g^2) + (P(1)-Pbreathe(2))*(dEl/El) + Pbreathe(3); */ dPl = ((((El * (double) (qli - qlo)) * (double) (1 + mcmRealPowerInt(g, 2))) + (((mccPR(P_P_)[(1-1)]) - (mccPR(Pbreathe_P_)[(2-1)])) * (double) (dEl / (double) El))) + (mccPR(Pbreathe_P_)[(3-1)])); } else { /* else */ /* y = (P(1)-Pbreathe(2))/th(31); */ y = (((mccPR(P_P_)[(1-1)]) - (mccPR(Pbreathe_P_)[(2-1)])) / (double) (mccPR(th_P_)[(31-1)])); /* x = vent_vol(Qc(1),y,El); */ vent_vol_(&x, (mccPR(Qc_P_)[(1-1)]), y, El); /* x0 = 1/(El+1); */ x0 = (1 / (double) (El + 1)); /* k = 50; */ k = 50; /* mbrealscalar(-k*(x-x0)); */ /* mbrealscalar(-k*(1-x0)); */ /* mbrealscalar(k*x0); */ /* dx = (qli-qlo)/(th(26)-th(9)); */ dx = ((qli - qlo) / (double) ((mccPR(th_P_)[(26-1)]) - (mccPR(th_P_)[(9-1)]))); /* dx0 = -dEl/((El+1)^2); */ dx0 = ((-dEl) / (double) mcmRealPowerInt((El + 1), 2)); /* c = 1+exp(-k*(1-x0)); */ R0_ = exp(((-k) * (double) (1 - x0))); c = (1 + R0_); /* d = 1+exp(k*x0); */ R0_ = exp((k * (double) x0)); d = (1 + R0_); /* g = 1+exp(-k*(x-x0)); */ R0_ = exp(((-k) * (double) (x - x0))); g = (1 + R0_); /* dc = k*dx0*exp(-k*(1-x0)); */ R0_ = exp(((-k) * (double) (1 - x0))); dc = ((k * (double) dx0) * (double) R0_); /* dd = k*dx0*exp(k*x0); */ R0_ = exp((k * (double) x0)); dd = ((k * (double) dx0) * (double) R0_); /* dg = -k*(dx-dx0)*exp(-k*(x-x0)); */ R0_ = exp(((-k) * (double) (x - x0))); dg = (((-k) * (double) (dx - dx0)) * (double) R0_); /* denb = (1+(1/k)*log(c/d)); */ R0_ = log((c / (double) d)); denb = (1 + ((1 / (double) k) * (double) R0_)); /* b = (1-El)/denb; */ b = ((1 - El) / (double) denb); /* db = (-dEl*denb - (1-El)*(1/k)*((d*dc-c*dd)/(c*d)))/(denb^2); */ db = ((((-dEl) * (double) denb) - (((1 - El) * (double) (1 / (double) k)) * (double) (((d * (double) dc) - (c * (double) dd)) / (double) (c * (double) d)))) / (double) mcmRealPowerInt(denb, 2)); /* dy = dEl*x + El*dx + db*(x+(1/k)*(log(g/d))) + b*(dx+(1/k)*((d*dg-g*dd)/(g*d))); */ R0_ = log((g / (double) d)); dy = ((((dEl * (double) x) + (El * (double) dx)) + (db * (double) (x + ((1 / (double) k) * (double) R0_)))) + (b * (double) (dx + ((1 / (double) k) * (double) (((d * (double) dg) - (g * (double) dd)) / (double) (g * (double) d)))))); /* dPl = th(31)*dy + Pbreathe(3); */ dPl = (((mccPR(th_P_)[(31-1)]) * (double) dy) + (mccPR(Pbreathe_P_)[(3-1)])); /* end */ } /* if (P(4) < Pbreathe(2)) */ if (( ((mccPR(P_P_)[(4-1)]) < (mccPR(Pbreathe_P_)[(2-1)])) && !mccREL_NAN((mccPR(P_P_)[(4-1)])) && !mccREL_NAN((mccPR(Pbreathe_P_)[(2-1)])) )) { /* g = ((P(4)-Pbreathe(2)))/(Er*th(12)*(2/pi)); */ R0_ = mcmPi(); g = (((mccPR(P_P_)[(4-1)]) - (mccPR(Pbreathe_P_)[(2-1)])) / (double) ((Er * (double) (mccPR(th_P_)[(12-1)])) * (double) (2 / (double) R0_))); /* dPr = Er*(qri-qro)*(1+g^2) + (P(4)-Pbreathe(2))*(dEr/Er) + Pbreathe(3); */ dPr = ((((Er * (double) (qri - qro)) * (double) (1 + mcmRealPowerInt(g, 2))) + (((mccPR(P_P_)[(4-1)]) - (mccPR(Pbreathe_P_)[(2-1)])) * (double) (dEr / (double) Er))) + (mccPR(Pbreathe_P_)[(3-1)])); } else { /* else */ /* y = (P(4)-Pbreathe(2))/th(32); */ y = (((mccPR(P_P_)[(4-1)]) - (mccPR(Pbreathe_P_)[(2-1)])) / (double) (mccPR(th_P_)[(32-1)])); /* x = vent_vol(Qc(2),y,Er); */ vent_vol_(&x, (mccPR(Qc_P_)[(2-1)]), y, Er); /* x0 = 1/(Er+1); */ x0 = (1 / (double) (Er + 1)); /* k = 50; */ k = 50; /* mbrealscalar(-k*(x-x0)); */ /* mbrealscalar(-k*(1-x0)); */ /* mbrealscalar(k*x0); */ /* dx = (qri-qro)/(th(27)-th(12)); */ dx = ((qri - qro) / (double) ((mccPR(th_P_)[(27-1)]) - (mccPR(th_P_)[(12-1)]))); /* dx0 = -dEr/((Er+1)^2); */ dx0 = ((-dEr) / (double) mcmRealPowerInt((Er + 1), 2)); /* c = 1+exp(-k*(1-x0)); */ R0_ = exp(((-k) * (double) (1 - x0))); c = (1 + R0_); /* d = 1+exp(k*x0); */ R0_ = exp((k * (double) x0)); d = (1 + R0_); /* g = 1+exp(-k*(x-x0)); */ R0_ = exp(((-k) * (double) (x - x0))); g = (1 + R0_); /* dc = k*dx0*exp(-k*(1-x0)); */ R0_ = exp(((-k) * (double) (1 - x0))); dc = ((k * (double) dx0) * (double) R0_); /* dd = k*dx0*exp(k*x0); */ R0_ = exp((k * (double) x0)); dd = ((k * (double) dx0) * (double) R0_); /* dg = -k*(dx-dx0)*exp(-k*(x-x0)); */ R0_ = exp(((-k) * (double) (x - x0))); dg = (((-k) * (double) (dx - dx0)) * (double) R0_); /* denb = (1+(1/k)*log(c/d)); */ R0_ = log((c / (double) d)); denb = (1 + ((1 / (double) k) * (double) R0_)); /* b = (1-Er)/denb; */ b = ((1 - Er) / (double) denb); /* db = (-dEr*denb - (1-Er)*(1/k)*((d*dc-c*dd)/(c*d)))/(denb^2); */ db = ((((-dEr) * (double) denb) - (((1 - Er) * (double) (1 / (double) k)) * (double) (((d * (double) dc) - (c * (double) dd)) / (double) (c * (double) d)))) / (double) mcmRealPowerInt(denb, 2)); /* dy = dEr*x + Er*dx + db*(x+(1/k)*(log(g/d))) + b*(dx+(1/k)*((d*dg-g*dd)/(g*d))); */ R0_ = log((g / (double) d)); dy = ((((dEr * (double) x) + (Er * (double) dx)) + (db * (double) (x + ((1 / (double) k) * (double) R0_)))) + (b * (double) (dx + ((1 / (double) k) * (double) (((d * (double) dg) - (g * (double) dd)) / (double) (g * (double) d)))))); /* dPr = th(32)*dy + Pbreathe(3); */ dPr = (((mccPR(th_P_)[(32-1)]) * (double) dy) + (mccPR(Pbreathe_P_)[(3-1)])); /* end */ } /* dP = [dPl; 0; 0; dPr; ((qro-qpa)/th(7))+Pbreathe(3); ((qpa-qli)/th(8))+Pbreathe(3); 0; 0]; */ mccCatenateRows(&RM0_, mccTempMatrix(dPl, 0., mccREAL, 0 ), mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateRows(&RM1_, &RM0_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateRows(&RM2_, &RM1_, mccTempMatrix(dPr, 0., mccREAL, 0 )); mccCatenateRows(&RM3_, &RM2_, mccTempMatrix((((qro - qpa) / (double) (mccPR(th_P_)[(7-1)])) + (mccPR(Pbreathe_P_)[(3-1)])), 0., mccREAL, 0 )); mccCatenateRows(&RM4_, &RM3_, mccTempMatrix((((qpa - qli) / (double) (mccPR(th_P_)[(8-1)])) + (mccPR(Pbreathe_P_)[(3-1)])), 0., mccREAL, 0 )); mccCatenateRows(&RM5_, &RM4_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateRows(&dP, &RM5_, mccTempMatrix(0, 0., mccINT, 0 )); mccCopy(dP_PP_, &dP ); mccFreeMatrix(&dP); mccFreeMatrix(&RM0_); mccFreeMatrix(&RM1_); mccFreeMatrix(&RM2_); mccFreeMatrix(&RM3_); mccFreeMatrix(&RM4_); mccFreeMatrix(&RM5_); return; } /* R = sc_eval_deriv(RRRRR) */ /***************** Compiler Assumptions **************** * M-File: /data/rmukkama/cvsim/rcvsim/src/sc_eval_deriv.m * * B0_ boolean scalar temporary * El real scalar * Er real scalar * P real vector/matrix * Pbreathe real vector/matrix * Qc real vector/matrix * R0_ real scalar temporary * RM0_ real vector/matrix temporary * RM1_ real vector/matrix temporary * RM2_ real vector/matrix temporary * RM3_ real vector/matrix temporary * RM4_ real vector/matrix temporary * RM5_ real vector/matrix temporary * b real scalar * c real scalar * d real scalar * dEl real scalar * dEr real scalar * dP real vector/matrix * dPl real scalar * dPr real scalar * db real scalar * dc real scalar * dd real scalar * denb real scalar * dg real scalar * dx real scalar * dx0 real scalar * dy real scalar * exp * g real scalar * h1 real scalar * h2 real scalar * k integer scalar * mbrealscalar * pi * qa real scalar * qli real scalar * qlo real scalar * qlovr real scalar * qpa real scalar * qri real scalar * qro real scalar * reallog * sc_eval_deriv_ * sumdeltaT real vector/matrix * th real vector/matrix * var_cap * vent_vol * x real scalar * x0 real scalar * y real scalar *******************************************************/ static void sc_eval_deriv_(mxArray *dP_PP_, mxArray *P_P_, mxArray *Qc_P_, mxArray *Pbreathe_P_, mxArray *th_P_, mxArray *sumdeltaT_P_ ) { mxArray dP; double qli = 0.0; double qlo = 0.0; double qa = 0.0; double qri = 0.0; double qlovr = 0.0; double qro = 0.0; double h1 = 0.0; double h2 = 0.0; double qpa = 0.0; double El = 0.0; double dEl = 0.0; double Er = 0.0; double dEr = 0.0; double g = 0.0; double dPl = 0.0; double y = 0.0; double x = 0.0; double x0 = 0.0; int k = 0; double dx = 0.0; double dx0 = 0.0; double c = 0.0; double d = 0.0; double dc = 0.0; double dd = 0.0; double dg = 0.0; double denb = 0.0; double b = 0.0; double db = 0.0; double dy = 0.0; double dPr = 0.0; unsigned short B0_ = 0; double R0_ = 0.0; mxArray RM0_; mxArray RM1_; mxArray RM2_; mxArray RM3_; mxArray RM4_; mxArray RM5_; mccRealInit(dP); mccRealInit(RM0_); mccRealInit(RM1_); mccRealInit(RM2_); mccRealInit(RM3_); mccRealInit(RM4_); mccRealInit(RM5_); /* % Computing flow rates from the current pressure values. */ /* if (P(6) >= P(1)) */ if (( ((mccPR(P_P_)[(6-1)]) >= (mccPR(P_P_)[(1-1)])) && !mccREL_NAN((mccPR(P_P_)[(6-1)])) && !mccREL_NAN((mccPR(P_P_)[(1-1)])) )) { /* qli = (P(6)-P(1))/th(20); */ qli = (((mccPR(P_P_)[(6-1)]) - (mccPR(P_P_)[(1-1)])) / (double) (mccPR(th_P_)[(20-1)])); } else { /* else */ /* qli = 0; */ qli = 0; /* end */ } /* if (P(1) >= th(33)) */ if (( ((mccPR(P_P_)[(1-1)]) >= (mccPR(th_P_)[(33-1)])) && !mccREL_NAN((mccPR(P_P_)[(1-1)])) && !mccREL_NAN((mccPR(th_P_)[(33-1)])) )) { /* qlo = (P(1)-th(33))/th(15); */ qlo = (((mccPR(P_P_)[(1-1)]) - (mccPR(th_P_)[(33-1)])) / (double) (mccPR(th_P_)[(15-1)])); } else { /* else */ /* qlo = 0; */ qlo = 0; /* end */ } /* qa = (P(2)-P(3))/th(16); */ qa = (((mccPR(P_P_)[(2-1)]) - (mccPR(P_P_)[(3-1)])) / (double) (mccPR(th_P_)[(16-1)])); /* if (P(3) > P(4) & P(4) >= th(91)) */ B0_ = ( ((mccPR(P_P_)[(3-1)]) > (mccPR(P_P_)[(4-1)])) && !mccREL_NAN((mccPR(P_P_)[(3-1)])) && !mccREL_NAN((mccPR(P_P_)[(4-1)])) ); if ((double)B0_) { B0_ = ( ((mccPR(P_P_)[(4-1)]) >= (mccPR(th_P_)[(91-1)])) && !mccREL_NAN((mccPR(P_P_)[(4-1)])) && !mccREL_NAN((mccPR(th_P_)[(91-1)])) ); } if ((double)B0_) { /* qri = (P(3)-P(4))/th(17); */ qri = (((mccPR(P_P_)[(3-1)]) - (mccPR(P_P_)[(4-1)])) / (double) (mccPR(th_P_)[(17-1)])); } else { /* elseif (P(3) > th(91) & th(91) > P(4)) */ B0_ = ( ((mccPR(P_P_)[(3-1)]) > (mccPR(th_P_)[(91-1)])) && !mccREL_NAN((mccPR(P_P_)[(3-1)])) && !mccREL_NAN((mccPR(th_P_)[(91-1)])) ); if ((double)B0_) { B0_ = ( ((mccPR(th_P_)[(91-1)]) > (mccPR(P_P_)[(4-1)])) && !mccREL_NAN((mccPR(th_P_)[(91-1)])) && !mccREL_NAN((mccPR(P_P_)[(4-1)])) ); } if ((double)B0_) { /* qri = (P(3)-th(91))/th(17); */ qri = (((mccPR(P_P_)[(3-1)]) - (mccPR(th_P_)[(91-1)])) / (double) (mccPR(th_P_)[(17-1)])); } else { /* else */ /* qri = 0; */ qri = 0; /* end */ } } /* qlovr = qri; */ qlovr = qri; /* if (P(4) >= th(28)) */ if (( ((mccPR(P_P_)[(4-1)]) >= (mccPR(th_P_)[(28-1)])) && !mccREL_NAN((mccPR(P_P_)[(4-1)])) && !mccREL_NAN((mccPR(th_P_)[(28-1)])) )) { /* qro = (P(4)-th(28))/th(18); */ qro = (((mccPR(P_P_)[(4-1)]) - (mccPR(th_P_)[(28-1)])) / (double) (mccPR(th_P_)[(18-1)])); } else { /* else */ /* qro = 0; */ qro = 0; /* end */ } /* h1 = (1330/(1.06*980))*(P(6)-Pbreathe(4)); */ h1 = ((1330 / (double) (1.06 * (double) 980)) * (double) ((mccPR(P_P_)[(6-1)]) - (mccPR(Pbreathe_P_)[(4-1)]))); /* if (h1 < -10) */ if (( (h1 < -10) && !mccREL_NAN(h1) )) { /* h1 = -10; */ h1 = -10; } else { /* elseif (h1 > 20) */ if (( (h1 > 20) && !mccREL_NAN(h1) )) { /* h1 = 20; */ h1 = 20; /* end */ } } /* h2 = (1330/(1.06*980))*(P(5)-Pbreathe(4)); */ h2 = ((1330 / (double) (1.06 * (double) 980)) * (double) ((mccPR(P_P_)[(5-1)]) - (mccPR(Pbreathe_P_)[(4-1)]))); /* if (h2 < -10) */ if (( (h2 < -10) && !mccREL_NAN(h2) )) { /* h2 = -10; */ h2 = -10; } else { /* elseif (h2 > 20) */ if (( (h2 > 20) && !mccREL_NAN(h2) )) { /* h2 = 20; */ h2 = 20; /* end */ } } /* qpa = (((P(5)-P(6))/(30*th(19)))*(h1+10)) + (((P(5)-Pbreathe(4))/(30*th(19)))*(h2-h1)) - (((1.06*980)/(2660*(30*th(19))))*(h2^2-h1^2)); */ qpa = ((((((mccPR(P_P_)[(5-1)]) - (mccPR(P_P_)[(6-1)])) / (double) (30 * (double) (mccPR(th_P_)[(19-1)]))) * (double) (h1 + 10)) + ((((mccPR(P_P_)[(5-1)]) - (mccPR(Pbreathe_P_)[(4-1)])) / (double) (30 * (double) (mccPR(th_P_)[(19-1)]))) * (double) (h2 - h1))) - (((1.06 * (double) 980) / (double) (2660 * (double) (30 * (double) (mccPR(th_P_)[(19-1)])))) * (double) (mcmRealPowerInt(h2, 2) - mcmRealPowerInt(h1, 2)))); /* % Computing ventricular elastances. */ /* [El,dEl] = var_cap(th(1),th(2),th(24),sumdeltaT); */ var_cap_(&El,&dEl, (mccPR(th_P_)[(1-1)]), (mccPR(th_P_)[(2-1)]), (mccPR(th_P_)[(24-1)]), sumdeltaT_P_); /* [Er,dEr] = var_cap(th(5),th(6),th(24),sumdeltaT); */ var_cap_(&Er,&dEr, (mccPR(th_P_)[(5-1)]), (mccPR(th_P_)[(6-1)]), (mccPR(th_P_)[(24-1)]), sumdeltaT_P_); /* % Computing dP from the above calculations and th parameter vector. */ /* if (P(1) < Pbreathe(2)) */ if (( ((mccPR(P_P_)[(1-1)]) < (mccPR(Pbreathe_P_)[(2-1)])) && !mccREL_NAN((mccPR(P_P_)[(1-1)])) && !mccREL_NAN((mccPR(Pbreathe_P_)[(2-1)])) )) { /* g = ((P(1)-Pbreathe(2)))/(El*th(9)*(2/pi)); */ R0_ = mcmPi(); g = (((mccPR(P_P_)[(1-1)]) - (mccPR(Pbreathe_P_)[(2-1)])) / (double) ((El * (double) (mccPR(th_P_)[(9-1)])) * (double) (2 / (double) R0_))); /* dPl = El*(qli-qlo)*(1+g^2) + (P(1)-Pbreathe(2))*(dEl/El) + Pbreathe(3); */ dPl = ((((El * (double) (qli - qlo)) * (double) (1 + mcmRealPowerInt(g, 2))) + (((mccPR(P_P_)[(1-1)]) - (mccPR(Pbreathe_P_)[(2-1)])) * (double) (dEl / (double) El))) + (mccPR(Pbreathe_P_)[(3-1)])); } else { /* else */ /* y = (P(1)-Pbreathe(2))/th(31); */ y = (((mccPR(P_P_)[(1-1)]) - (mccPR(Pbreathe_P_)[(2-1)])) / (double) (mccPR(th_P_)[(31-1)])); /* x = vent_vol(Qc(1),y,El); */ vent_vol_(&x, (mccPR(Qc_P_)[(1-1)]), y, El); /* x0 = 1/(El+1); */ x0 = (1 / (double) (El + 1)); /* k = 50; */ k = 50; /* mbrealscalar(-k*(x-x0)); */ /* mbrealscalar(-k*(1-x0)); */ /* mbrealscalar(k*x0); */ /* dx = (qli-qlo)/(th(26)-th(9)); */ dx = ((qli - qlo) / (double) ((mccPR(th_P_)[(26-1)]) - (mccPR(th_P_)[(9-1)]))); /* dx0 = -dEl/((El+1)^2); */ dx0 = ((-dEl) / (double) mcmRealPowerInt((El + 1), 2)); /* c = 1+exp(-k*(1-x0)); */ R0_ = exp(((-k) * (double) (1 - x0))); c = (1 + R0_); /* d = 1+exp(k*x0); */ R0_ = exp((k * (double) x0)); d = (1 + R0_); /* g = 1+exp(-k*(x-x0)); */ R0_ = exp(((-k) * (double) (x - x0))); g = (1 + R0_); /* dc = k*dx0*exp(-k*(1-x0)); */ R0_ = exp(((-k) * (double) (1 - x0))); dc = ((k * (double) dx0) * (double) R0_); /* dd = k*dx0*exp(k*x0); */ R0_ = exp((k * (double) x0)); dd = ((k * (double) dx0) * (double) R0_); /* dg = -k*(dx-dx0)*exp(-k*(x-x0)); */ R0_ = exp(((-k) * (double) (x - x0))); dg = (((-k) * (double) (dx - dx0)) * (double) R0_); /* denb = (1+(1/k)*log(c/d)); */ R0_ = log((c / (double) d)); denb = (1 + ((1 / (double) k) * (double) R0_)); /* b = (1-El)/denb; */ b = ((1 - El) / (double) denb); /* db = (-dEl*denb - (1-El)*(1/k)*((d*dc-c*dd)/(c*d)))/(denb^2); */ db = ((((-dEl) * (double) denb) - (((1 - El) * (double) (1 / (double) k)) * (double) (((d * (double) dc) - (c * (double) dd)) / (double) (c * (double) d)))) / (double) mcmRealPowerInt(denb, 2)); /* dy = dEl*x + El*dx + db*(x+(1/k)*(log(g/d))) + b*(dx+(1/k)*((d*dg-g*dd)/(g*d))); */ R0_ = log((g / (double) d)); dy = ((((dEl * (double) x) + (El * (double) dx)) + (db * (double) (x + ((1 / (double) k) * (double) R0_)))) + (b * (double) (dx + ((1 / (double) k) * (double) (((d * (double) dg) - (g * (double) dd)) / (double) (g * (double) d)))))); /* dPl = th(31)*dy + Pbreathe(3); */ dPl = (((mccPR(th_P_)[(31-1)]) * (double) dy) + (mccPR(Pbreathe_P_)[(3-1)])); /* end */ } /* if (P(4) < Pbreathe(2)) */ if (( ((mccPR(P_P_)[(4-1)]) < (mccPR(Pbreathe_P_)[(2-1)])) && !mccREL_NAN((mccPR(P_P_)[(4-1)])) && !mccREL_NAN((mccPR(Pbreathe_P_)[(2-1)])) )) { /* g = ((P(4)-Pbreathe(2)))/(Er*th(12)*(2/pi)); */ R0_ = mcmPi(); g = (((mccPR(P_P_)[(4-1)]) - (mccPR(Pbreathe_P_)[(2-1)])) / (double) ((Er * (double) (mccPR(th_P_)[(12-1)])) * (double) (2 / (double) R0_))); /* dPr = Er*(qri-qro)*(1+g^2) + (P(4)-Pbreathe(2))*(dEr/Er) + Pbreathe(3); */ dPr = ((((Er * (double) (qri - qro)) * (double) (1 + mcmRealPowerInt(g, 2))) + (((mccPR(P_P_)[(4-1)]) - (mccPR(Pbreathe_P_)[(2-1)])) * (double) (dEr / (double) Er))) + (mccPR(Pbreathe_P_)[(3-1)])); } else { /* else */ /* y = (P(4)-Pbreathe(2))/th(32); */ y = (((mccPR(P_P_)[(4-1)]) - (mccPR(Pbreathe_P_)[(2-1)])) / (double) (mccPR(th_P_)[(32-1)])); /* x = vent_vol(Qc(2),y,Er); */ vent_vol_(&x, (mccPR(Qc_P_)[(2-1)]), y, Er); /* x0 = 1/(Er+1); */ x0 = (1 / (double) (Er + 1)); /* k = 50; */ k = 50; /* mbrealscalar(-k*(x-x0)); */ /* mbrealscalar(-k*(1-x0)); */ /* mbrealscalar(k*x0); */ /* dx = (qri-qro)/(th(27)-th(12)); */ dx = ((qri - qro) / (double) ((mccPR(th_P_)[(27-1)]) - (mccPR(th_P_)[(12-1)]))); /* dx0 = -dEr/((Er+1)^2); */ dx0 = ((-dEr) / (double) mcmRealPowerInt((Er + 1), 2)); /* c = 1+exp(-k*(1-x0)); */ R0_ = exp(((-k) * (double) (1 - x0))); c = (1 + R0_); /* d = 1+exp(k*x0); */ R0_ = exp((k * (double) x0)); d = (1 + R0_); /* g = 1+exp(-k*(x-x0)); */ R0_ = exp(((-k) * (double) (x - x0))); g = (1 + R0_); /* dc = k*dx0*exp(-k*(1-x0)); */ R0_ = exp(((-k) * (double) (1 - x0))); dc = ((k * (double) dx0) * (double) R0_); /* dd = k*dx0*exp(k*x0); */ R0_ = exp((k * (double) x0)); dd = ((k * (double) dx0) * (double) R0_); /* dg = -k*(dx-dx0)*exp(-k*(x-x0)); */ R0_ = exp(((-k) * (double) (x - x0))); dg = (((-k) * (double) (dx - dx0)) * (double) R0_); /* denb = (1+(1/k)*log(c/d)); */ R0_ = log((c / (double) d)); denb = (1 + ((1 / (double) k) * (double) R0_)); /* b = (1-Er)/denb; */ b = ((1 - Er) / (double) denb); /* db = (-dEr*denb - (1-Er)*(1/k)*((d*dc-c*dd)/(c*d)))/(denb^2); */ db = ((((-dEr) * (double) denb) - (((1 - Er) * (double) (1 / (double) k)) * (double) (((d * (double) dc) - (c * (double) dd)) / (double) (c * (double) d)))) / (double) mcmRealPowerInt(denb, 2)); /* dy = dEr*x + Er*dx + db*(x+(1/k)*(log(g/d))) + b*(dx+(1/k)*((d*dg-g*dd)/(g*d))); */ R0_ = log((g / (double) d)); dy = ((((dEr * (double) x) + (Er * (double) dx)) + (db * (double) (x + ((1 / (double) k) * (double) R0_)))) + (b * (double) (dx + ((1 / (double) k) * (double) (((d * (double) dg) - (g * (double) dd)) / (double) (g * (double) d)))))); /* dPr = th(32)*dy + Pbreathe(3); */ dPr = (((mccPR(th_P_)[(32-1)]) * (double) dy) + (mccPR(Pbreathe_P_)[(3-1)])); /* end */ } /* dP = [0; ((qlovr-qa)/th(3)); (qa-qri)/th(4); dPr; 0; 0; 0; 0]; */ mccCatenateRows(&RM0_, mccTempMatrix(0, 0., mccINT, 0 ), mccTempMatrix(((qlovr - qa) / (double) (mccPR(th_P_)[(3-1)])), 0., mccREAL, 0 )); mccCatenateRows(&RM1_, &RM0_, mccTempMatrix(((qa - qri) / (double) (mccPR(th_P_)[(4-1)])), 0., mccREAL, 0 )); mccCatenateRows(&RM2_, &RM1_, mccTempMatrix(dPr, 0., mccREAL, 0 )); mccCatenateRows(&RM3_, &RM2_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateRows(&RM4_, &RM3_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateRows(&RM5_, &RM4_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateRows(&dP, &RM5_, mccTempMatrix(0, 0., mccINT, 0 )); mccCopy(dP_PP_, &dP ); mccFreeMatrix(&dP); mccFreeMatrix(&RM0_); mccFreeMatrix(&RM1_); mccFreeMatrix(&RM2_); mccFreeMatrix(&RM3_); mccFreeMatrix(&RM4_); mccFreeMatrix(&RM5_); return; } /* R = lv_eval_deriv(RRRRR) */ /***************** Compiler Assumptions **************** * M-File: /data/rmukkama/cvsim/rcvsim/src/lv_eval_deriv.m * * B0_ boolean scalar temporary * El real scalar * Er real scalar * P real vector/matrix * Pbreathe real vector/matrix * Qc real vector/matrix * R0_ real scalar temporary * RM0_ real vector/matrix temporary * RM1_ real vector/matrix temporary * RM2_ real vector/matrix temporary * RM3_ real vector/matrix temporary * RM4_ real vector/matrix temporary * RM5_ real vector/matrix temporary * b real scalar * c real scalar * d real scalar * dEl real scalar * dEr real scalar * dP real vector/matrix * dPl real scalar * dPr real scalar * db real scalar * dc real scalar * dd real scalar * denb real scalar * dg real scalar * dx real scalar * dx0 real scalar * dy real scalar * exp * g real scalar * k integer scalar * lv_eval_deriv_ * mbrealscalar * pi * qa integer scalar * qli real scalar * qlo real scalar * qpa integer scalar * qri real scalar * qro real scalar * reallog * sumdeltaT real vector/matrix * th real vector/matrix * var_cap * vent_vol * x real scalar * x0 real scalar * y real scalar *******************************************************/ static void lv_eval_deriv_(mxArray *dP_PP_, mxArray *P_P_, mxArray *Qc_P_, mxArray *Pbreathe_P_, mxArray *th_P_, mxArray *sumdeltaT_P_ ) { mxArray dP; double qli = 0.0; double qlo = 0.0; int qa = 0; double qri = 0.0; double qro = 0.0; int qpa = 0; double El = 0.0; double dEl = 0.0; double Er = 0.0; double dEr = 0.0; double g = 0.0; double dPl = 0.0; double y = 0.0; double x = 0.0; double x0 = 0.0; int k = 0; double dx = 0.0; double dx0 = 0.0; double c = 0.0; double d = 0.0; double dc = 0.0; double dd = 0.0; double dg = 0.0; double denb = 0.0; double b = 0.0; double db = 0.0; double dy = 0.0; double dPr = 0.0; unsigned short B0_ = 0; double R0_ = 0.0; mxArray RM0_; mxArray RM1_; mxArray RM2_; mxArray RM3_; mxArray RM4_; mxArray RM5_; mccRealInit(dP); mccRealInit(RM0_); mccRealInit(RM1_); mccRealInit(RM2_); mccRealInit(RM3_); mccRealInit(RM4_); mccRealInit(RM5_); /* % Computing flow rates from the current pressure values. */ /* if (th(34) >= P(1)) */ if (( ((mccPR(th_P_)[(34-1)]) >= (mccPR(P_P_)[(1-1)])) && !mccREL_NAN((mccPR(th_P_)[(34-1)])) && !mccREL_NAN((mccPR(P_P_)[(1-1)])) )) { /* qli = (th(34)-P(1))/th(20); */ qli = (((mccPR(th_P_)[(34-1)]) - (mccPR(P_P_)[(1-1)])) / (double) (mccPR(th_P_)[(20-1)])); } else { /* else */ /* qli = 0; */ qli = 0; /* end */ } /* if (P(1) >= th(29)) */ if (( ((mccPR(P_P_)[(1-1)]) >= (mccPR(th_P_)[(29-1)])) && !mccREL_NAN((mccPR(P_P_)[(1-1)])) && !mccREL_NAN((mccPR(th_P_)[(29-1)])) )) { /* qlo = (P(1)-th(29))/th(15); */ qlo = (((mccPR(P_P_)[(1-1)]) - (mccPR(th_P_)[(29-1)])) / (double) (mccPR(th_P_)[(15-1)])); } else { /* else */ /* qlo = 0; */ qlo = 0; /* end */ } /* qa = 0; */ qa = 0; /* if (P(3) > P(4) & P(4) >= th(91)) */ B0_ = ( ((mccPR(P_P_)[(3-1)]) > (mccPR(P_P_)[(4-1)])) && !mccREL_NAN((mccPR(P_P_)[(3-1)])) && !mccREL_NAN((mccPR(P_P_)[(4-1)])) ); if ((double)B0_) { B0_ = ( ((mccPR(P_P_)[(4-1)]) >= (mccPR(th_P_)[(91-1)])) && !mccREL_NAN((mccPR(P_P_)[(4-1)])) && !mccREL_NAN((mccPR(th_P_)[(91-1)])) ); } if ((double)B0_) { /* qri = (P(3)-P(4))/th(17); */ qri = (((mccPR(P_P_)[(3-1)]) - (mccPR(P_P_)[(4-1)])) / (double) (mccPR(th_P_)[(17-1)])); } else { /* elseif (P(3) > th(91) & th(91) > P(4)) */ B0_ = ( ((mccPR(P_P_)[(3-1)]) > (mccPR(th_P_)[(91-1)])) && !mccREL_NAN((mccPR(P_P_)[(3-1)])) && !mccREL_NAN((mccPR(th_P_)[(91-1)])) ); if ((double)B0_) { B0_ = ( ((mccPR(th_P_)[(91-1)]) > (mccPR(P_P_)[(4-1)])) && !mccREL_NAN((mccPR(th_P_)[(91-1)])) && !mccREL_NAN((mccPR(P_P_)[(4-1)])) ); } if ((double)B0_) { /* qri = (P(3)-th(91))/th(17); */ qri = (((mccPR(P_P_)[(3-1)]) - (mccPR(th_P_)[(91-1)])) / (double) (mccPR(th_P_)[(17-1)])); } else { /* else */ /* qri = 0; */ qri = 0; /* end */ } } /* if (P(4) >= P(5)) */ if (( ((mccPR(P_P_)[(4-1)]) >= (mccPR(P_P_)[(5-1)])) && !mccREL_NAN((mccPR(P_P_)[(4-1)])) && !mccREL_NAN((mccPR(P_P_)[(5-1)])) )) { /* qro = (P(4)-P(5))/th(18); */ qro = (((mccPR(P_P_)[(4-1)]) - (mccPR(P_P_)[(5-1)])) / (double) (mccPR(th_P_)[(18-1)])); } else { /* else */ /* qro = 0; */ qro = 0; /* end */ } /* qpa = 0; */ qpa = 0; /* % Computing ventricular elastances. */ /* [El,dEl] = var_cap(th(1),th(2),th(24),sumdeltaT); */ var_cap_(&El,&dEl, (mccPR(th_P_)[(1-1)]), (mccPR(th_P_)[(2-1)]), (mccPR(th_P_)[(24-1)]), sumdeltaT_P_); /* [Er,dEr] = var_cap(th(5),th(6),th(24),sumdeltaT); */ var_cap_(&Er,&dEr, (mccPR(th_P_)[(5-1)]), (mccPR(th_P_)[(6-1)]), (mccPR(th_P_)[(24-1)]), sumdeltaT_P_); /* % Computing dP from the above calculations and th parameter vector. */ /* if (P(1) < Pbreathe(2)) */ if (( ((mccPR(P_P_)[(1-1)]) < (mccPR(Pbreathe_P_)[(2-1)])) && !mccREL_NAN((mccPR(P_P_)[(1-1)])) && !mccREL_NAN((mccPR(Pbreathe_P_)[(2-1)])) )) { /* g = ((P(1)-Pbreathe(2)))/(El*th(9)*(2/pi)); */ R0_ = mcmPi(); g = (((mccPR(P_P_)[(1-1)]) - (mccPR(Pbreathe_P_)[(2-1)])) / (double) ((El * (double) (mccPR(th_P_)[(9-1)])) * (double) (2 / (double) R0_))); /* dPl = El*(qli-qlo)*(1+g^2) + (P(1)-Pbreathe(2))*(dEl/El) + Pbreathe(3); */ dPl = ((((El * (double) (qli - qlo)) * (double) (1 + mcmRealPowerInt(g, 2))) + (((mccPR(P_P_)[(1-1)]) - (mccPR(Pbreathe_P_)[(2-1)])) * (double) (dEl / (double) El))) + (mccPR(Pbreathe_P_)[(3-1)])); } else { /* else */ /* y = (P(1)-Pbreathe(2))/th(31); */ y = (((mccPR(P_P_)[(1-1)]) - (mccPR(Pbreathe_P_)[(2-1)])) / (double) (mccPR(th_P_)[(31-1)])); /* x = vent_vol(Qc(1),y,El); */ vent_vol_(&x, (mccPR(Qc_P_)[(1-1)]), y, El); /* x0 = 1/(El+1); */ x0 = (1 / (double) (El + 1)); /* k = 50; */ k = 50; /* mbrealscalar(-k*(x-x0)); */ /* mbrealscalar(-k*(1-x0)); */ /* mbrealscalar(k*x0); */ /* dx = (qli-qlo)/(th(26)-th(9)); */ dx = ((qli - qlo) / (double) ((mccPR(th_P_)[(26-1)]) - (mccPR(th_P_)[(9-1)]))); /* dx0 = -dEl/((El+1)^2); */ dx0 = ((-dEl) / (double) mcmRealPowerInt((El + 1), 2)); /* c = 1+exp(-k*(1-x0)); */ R0_ = exp(((-k) * (double) (1 - x0))); c = (1 + R0_); /* d = 1+exp(k*x0); */ R0_ = exp((k * (double) x0)); d = (1 + R0_); /* g = 1+exp(-k*(x-x0)); */ R0_ = exp(((-k) * (double) (x - x0))); g = (1 + R0_); /* dc = k*dx0*exp(-k*(1-x0)); */ R0_ = exp(((-k) * (double) (1 - x0))); dc = ((k * (double) dx0) * (double) R0_); /* dd = k*dx0*exp(k*x0); */ R0_ = exp((k * (double) x0)); dd = ((k * (double) dx0) * (double) R0_); /* dg = -k*(dx-dx0)*exp(-k*(x-x0)); */ R0_ = exp(((-k) * (double) (x - x0))); dg = (((-k) * (double) (dx - dx0)) * (double) R0_); /* denb = (1+(1/k)*log(c/d)); */ R0_ = log((c / (double) d)); denb = (1 + ((1 / (double) k) * (double) R0_)); /* b = (1-El)/denb; */ b = ((1 - El) / (double) denb); /* db = (-dEl*denb - (1-El)*(1/k)*((d*dc-c*dd)/(c*d)))/(denb^2); */ db = ((((-dEl) * (double) denb) - (((1 - El) * (double) (1 / (double) k)) * (double) (((d * (double) dc) - (c * (double) dd)) / (double) (c * (double) d)))) / (double) mcmRealPowerInt(denb, 2)); /* dy = dEl*x + El*dx + db*(x+(1/k)*(log(g/d))) + b*(dx+(1/k)*((d*dg-g*dd)/(g*d))); */ R0_ = log((g / (double) d)); dy = ((((dEl * (double) x) + (El * (double) dx)) + (db * (double) (x + ((1 / (double) k) * (double) R0_)))) + (b * (double) (dx + ((1 / (double) k) * (double) (((d * (double) dg) - (g * (double) dd)) / (double) (g * (double) d)))))); /* dPl = th(31)*dy + Pbreathe(3); */ dPl = (((mccPR(th_P_)[(31-1)]) * (double) dy) + (mccPR(Pbreathe_P_)[(3-1)])); /* end */ } /* if (P(4) < Pbreathe(2)) */ if (( ((mccPR(P_P_)[(4-1)]) < (mccPR(Pbreathe_P_)[(2-1)])) && !mccREL_NAN((mccPR(P_P_)[(4-1)])) && !mccREL_NAN((mccPR(Pbreathe_P_)[(2-1)])) )) { /* g = ((P(4)-Pbreathe(2)))/(Er*th(12)*(2/pi)); */ R0_ = mcmPi(); g = (((mccPR(P_P_)[(4-1)]) - (mccPR(Pbreathe_P_)[(2-1)])) / (double) ((Er * (double) (mccPR(th_P_)[(12-1)])) * (double) (2 / (double) R0_))); /* dPr = Er*(qri-qro)*(1+g^2) + (P(4)-Pbreathe(2))*(dEr/Er) + Pbreathe(3); */ dPr = ((((Er * (double) (qri - qro)) * (double) (1 + mcmRealPowerInt(g, 2))) + (((mccPR(P_P_)[(4-1)]) - (mccPR(Pbreathe_P_)[(2-1)])) * (double) (dEr / (double) Er))) + (mccPR(Pbreathe_P_)[(3-1)])); } else { /* else */ /* y = (P(4)-Pbreathe(2))/th(32); */ y = (((mccPR(P_P_)[(4-1)]) - (mccPR(Pbreathe_P_)[(2-1)])) / (double) (mccPR(th_P_)[(32-1)])); /* x = vent_vol(Qc(2),y,Er); */ vent_vol_(&x, (mccPR(Qc_P_)[(2-1)]), y, Er); /* x0 = 1/(Er+1); */ x0 = (1 / (double) (Er + 1)); /* k = 50; */ k = 50; /* mbrealscalar(-k*(x-x0)); */ /* mbrealscalar(-k*(1-x0)); */ /* mbrealscalar(k*x0); */ /* dx = (qri-qro)/(th(27)-th(12)); */ dx = ((qri - qro) / (double) ((mccPR(th_P_)[(27-1)]) - (mccPR(th_P_)[(12-1)]))); /* dx0 = -dEr/((Er+1)^2); */ dx0 = ((-dEr) / (double) mcmRealPowerInt((Er + 1), 2)); /* c = 1+exp(-k*(1-x0)); */ R0_ = exp(((-k) * (double) (1 - x0))); c = (1 + R0_); /* d = 1+exp(k*x0); */ R0_ = exp((k * (double) x0)); d = (1 + R0_); /* g = 1+exp(-k*(x-x0)); */ R0_ = exp(((-k) * (double) (x - x0))); g = (1 + R0_); /* dc = k*dx0*exp(-k*(1-x0)); */ R0_ = exp(((-k) * (double) (1 - x0))); dc = ((k * (double) dx0) * (double) R0_); /* dd = k*dx0*exp(k*x0); */ R0_ = exp((k * (double) x0)); dd = ((k * (double) dx0) * (double) R0_); /* dg = -k*(dx-dx0)*exp(-k*(x-x0)); */ R0_ = exp(((-k) * (double) (x - x0))); dg = (((-k) * (double) (dx - dx0)) * (double) R0_); /* denb = (1+(1/k)*log(c/d)); */ R0_ = log((c / (double) d)); denb = (1 + ((1 / (double) k) * (double) R0_)); /* b = (1-Er)/denb; */ b = ((1 - Er) / (double) denb); /* db = (-dEr*denb - (1-Er)*(1/k)*((d*dc-c*dd)/(c*d)))/(denb^2); */ db = ((((-dEr) * (double) denb) - (((1 - Er) * (double) (1 / (double) k)) * (double) (((d * (double) dc) - (c * (double) dd)) / (double) (c * (double) d)))) / (double) mcmRealPowerInt(denb, 2)); /* dy = dEr*x + Er*dx + db*(x+(1/k)*(log(g/d))) + b*(dx+(1/k)*((d*dg-g*dd)/(g*d))); */ R0_ = log((g / (double) d)); dy = ((((dEr * (double) x) + (Er * (double) dx)) + (db * (double) (x + ((1 / (double) k) * (double) R0_)))) + (b * (double) (dx + ((1 / (double) k) * (double) (((d * (double) dg) - (g * (double) dd)) / (double) (g * (double) d)))))); /* dPr = th(32)*dy + Pbreathe(3); */ dPr = (((mccPR(th_P_)[(32-1)]) * (double) dy) + (mccPR(Pbreathe_P_)[(3-1)])); /* end */ } /* dP = [dPl; 0; 0; 0; 0; 0; 0; 0]; */ mccCatenateRows(&RM0_, mccTempMatrix(dPl, 0., mccREAL, 0 ), mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateRows(&RM1_, &RM0_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateRows(&RM2_, &RM1_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateRows(&RM3_, &RM2_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateRows(&RM4_, &RM3_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateRows(&RM5_, &RM4_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateRows(&dP, &RM5_, mccTempMatrix(0, 0., mccINT, 0 )); mccCopy(dP_PP_, &dP ); mccFreeMatrix(&dP); mccFreeMatrix(&RM0_); mccFreeMatrix(&RM1_); mccFreeMatrix(&RM2_); mccFreeMatrix(&RM3_); mccFreeMatrix(&RM4_); mccFreeMatrix(&RM5_); return; } /* R = eval_deriv(RRRRR) */ /***************** Compiler Assumptions **************** * M-File: /data/rmukkama/cvsim/rcvsim/src/eval_deriv.m * * El real scalar * Er real scalar * P real vector/matrix * Pbreathe real vector/matrix * Qc real vector/matrix * RM0_ real vector/matrix temporary * RM1_ real vector/matrix temporary * RM2_ real vector/matrix temporary * RM3_ real vector/matrix temporary * RM4_ real vector/matrix temporary * RM5_ real vector/matrix temporary * dEl real scalar * dEr real scalar * dP real vector/matrix * eval_deriv_ * qa real scalar * qli real scalar * qlo real scalar * qpa real scalar * qri real scalar * qro real scalar * sumdeltaT real vector/matrix * th real vector/matrix * var_cap *******************************************************/ static void eval_deriv_(mxArray *dP_PP_, mxArray *P_P_, mxArray *Qc_P_, mxArray *Pbreathe_P_, mxArray *th_P_, mxArray *sumdeltaT_P_ ) { mxArray dP; double qli = 0.0; double qlo = 0.0; double qa = 0.0; double qri = 0.0; double qro = 0.0; double qpa = 0.0; double El = 0.0; double dEl = 0.0; double Er = 0.0; double dEr = 0.0; mxArray RM0_; mxArray RM1_; mxArray RM2_; mxArray RM3_; mxArray RM4_; mxArray RM5_; mccRealInit(dP); mccRealInit(RM0_); mccRealInit(RM1_); mccRealInit(RM2_); mccRealInit(RM3_); mccRealInit(RM4_); mccRealInit(RM5_); /* % Computing flow rates from the current pressure values. */ /* if (P(6) >= P(1)) */ if (( ((mccPR(P_P_)[(6-1)]) >= (mccPR(P_P_)[(1-1)])) && !mccREL_NAN((mccPR(P_P_)[(6-1)])) && !mccREL_NAN((mccPR(P_P_)[(1-1)])) )) { /* qli = (P(6)-P(1))/th(20); */ qli = (((mccPR(P_P_)[(6-1)]) - (mccPR(P_P_)[(1-1)])) / (double) (mccPR(th_P_)[(20-1)])); } else { /* else */ /* qli = 0; */ qli = 0; /* end */ } /* if (P(1) >= P(2)) */ if (( ((mccPR(P_P_)[(1-1)]) >= (mccPR(P_P_)[(2-1)])) && !mccREL_NAN((mccPR(P_P_)[(1-1)])) && !mccREL_NAN((mccPR(P_P_)[(2-1)])) )) { /* qlo = (P(1)-P(2))/th(15); */ qlo = (((mccPR(P_P_)[(1-1)]) - (mccPR(P_P_)[(2-1)])) / (double) (mccPR(th_P_)[(15-1)])); } else { /* else */ /* qlo = 0; */ qlo = 0; /* end */ } /* qa = (P(2)-P(3))/th(16); */ qa = (((mccPR(P_P_)[(2-1)]) - (mccPR(P_P_)[(3-1)])) / (double) (mccPR(th_P_)[(16-1)])); /* if (P(3) >= P(4)) */ if (( ((mccPR(P_P_)[(3-1)]) >= (mccPR(P_P_)[(4-1)])) && !mccREL_NAN((mccPR(P_P_)[(3-1)])) && !mccREL_NAN((mccPR(P_P_)[(4-1)])) )) { /* qri = (P(3)-P(4))/th(17); */ qri = (((mccPR(P_P_)[(3-1)]) - (mccPR(P_P_)[(4-1)])) / (double) (mccPR(th_P_)[(17-1)])); } else { /* else */ /* qri = 0; */ qri = 0; /* end */ } /* if (P(4) >= P(5)) */ if (( ((mccPR(P_P_)[(4-1)]) >= (mccPR(P_P_)[(5-1)])) && !mccREL_NAN((mccPR(P_P_)[(4-1)])) && !mccREL_NAN((mccPR(P_P_)[(5-1)])) )) { /* qro = (P(4)-P(5))/th(18); */ qro = (((mccPR(P_P_)[(4-1)]) - (mccPR(P_P_)[(5-1)])) / (double) (mccPR(th_P_)[(18-1)])); } else { /* else */ /* qro = 0; */ qro = 0; /* end */ } /* qpa = (P(5)-P(6))/th(19); */ qpa = (((mccPR(P_P_)[(5-1)]) - (mccPR(P_P_)[(6-1)])) / (double) (mccPR(th_P_)[(19-1)])); /* % Computing ventricular elastances. */ /* [El,dEl] = var_cap(th(1),th(2),th(24),sumdeltaT); */ var_cap_(&El,&dEl, (mccPR(th_P_)[(1-1)]), (mccPR(th_P_)[(2-1)]), (mccPR(th_P_)[(24-1)]), sumdeltaT_P_); /* [Er,dEr] = var_cap(th(5),th(6),th(24),sumdeltaT); */ var_cap_(&Er,&dEr, (mccPR(th_P_)[(5-1)]), (mccPR(th_P_)[(6-1)]), (mccPR(th_P_)[(24-1)]), sumdeltaT_P_); /* % Computing dP from the above calculations and th parameter vector. */ /* dP = [(El*(qli-qlo))+((dEl/El)*(P(1)-Pbreathe(2)))+Pbreathe(3); */ mccCatenateRows(&RM0_, mccTempMatrix((((El * (double) (qli - qlo)) + ((dEl / (double) El) * (double) ((mccPR(P_P_)[(1-1)]) - (mccPR(Pbreathe_P_)[(2-1)])))) + (mccPR(Pbreathe_P_)[(3-1)])), 0., mccREAL, 0 ), mccTempMatrix((((qlo - qa) / (double) (mccPR(th_P_)[(3-1)])) + ((mccPR(Pbreathe_P_)[(3-1)]) / (double) 3)), 0., mccREAL, 0 )); mccCatenateRows(&RM1_, &RM0_, mccTempMatrix(((qa - qri) / (double) (mccPR(th_P_)[(4-1)])), 0., mccREAL, 0 )); mccCatenateRows(&RM2_, &RM1_, mccTempMatrix((((Er * (double) (qri - qro)) + ((dEr / (double) Er) * (double) ((mccPR(P_P_)[(4-1)]) - (mccPR(Pbreathe_P_)[(2-1)])))) + (mccPR(Pbreathe_P_)[(3-1)])), 0., mccREAL, 0 )); mccCatenateRows(&RM3_, &RM2_, mccTempMatrix((((qro - qpa) / (double) (mccPR(th_P_)[(7-1)])) + (mccPR(Pbreathe_P_)[(3-1)])), 0., mccREAL, 0 )); mccCatenateRows(&RM4_, &RM3_, mccTempMatrix((((qpa - qli) / (double) (mccPR(th_P_)[(8-1)])) + (mccPR(Pbreathe_P_)[(3-1)])), 0., mccREAL, 0 )); mccCatenateRows(&RM5_, &RM4_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateRows(&dP, &RM5_, mccTempMatrix(0, 0., mccINT, 0 )); mccCopy(dP_PP_, &dP ); mccFreeMatrix(&dP); mccFreeMatrix(&RM0_); mccFreeMatrix(&RM1_); mccFreeMatrix(&RM2_); mccFreeMatrix(&RM3_); mccFreeMatrix(&RM4_); mccFreeMatrix(&RM5_); return; } /* R = third_eval_deriv(RRRRR) */ /***************** Compiler Assumptions **************** * M-File: /data/rmukkama/cvsim/rcvsim/src/third_eval_deriv.m * * B0_ boolean scalar temporary * El real scalar * Er real scalar * P real vector/matrix * Pbreathe real vector/matrix * Qc real vector/matrix * R0_ real scalar temporary * RM0_ real vector/matrix temporary * RM1_ real vector/matrix temporary * RM2_ real vector/matrix temporary * RM3_ real vector/matrix temporary * RM4_ real vector/matrix temporary * RM5_ real vector/matrix temporary * b real scalar * c real scalar * d real scalar * dEl real scalar * dEr real scalar * dP real vector/matrix * dPl real scalar * dPr real scalar * db real scalar * dc real scalar * dd real scalar * denb real scalar * dg real scalar * dx real scalar * dx0 real scalar * dy real scalar * exp * g real scalar * h1 real scalar * h2 real scalar * k integer scalar * mbrealscalar * pi * qa real scalar * qla real scalar * qli real scalar * qlo real scalar * qpa real scalar * qri real scalar * qro real scalar * reallog * sumdeltaT real vector/matrix * th real vector/matrix * third_eval_deriv_ * var_cap * vent_vol * x real scalar * x0 real scalar * y real scalar *******************************************************/ static void third_eval_deriv_(mxArray *dP_PP_, mxArray *P_P_, mxArray *Qc_P_, mxArray *Pbreathe_P_, mxArray *th_P_, mxArray *sumdeltaT_P_ ) { mxArray dP; double qli = 0.0; double qlo = 0.0; double qla = 0.0; double qa = 0.0; double qri = 0.0; double qro = 0.0; double h1 = 0.0; double h2 = 0.0; double qpa = 0.0; double El = 0.0; double dEl = 0.0; double Er = 0.0; double dEr = 0.0; double g = 0.0; double dPl = 0.0; double y = 0.0; double x = 0.0; double x0 = 0.0; int k = 0; double dx = 0.0; double dx0 = 0.0; double c = 0.0; double d = 0.0; double dc = 0.0; double dd = 0.0; double dg = 0.0; double denb = 0.0; double b = 0.0; double db = 0.0; double dy = 0.0; double dPr = 0.0; unsigned short B0_ = 0; double R0_ = 0.0; mxArray RM0_; mxArray RM1_; mxArray RM2_; mxArray RM3_; mxArray RM4_; mxArray RM5_; mccRealInit(dP); mccRealInit(RM0_); mccRealInit(RM1_); mccRealInit(RM2_); mccRealInit(RM3_); mccRealInit(RM4_); mccRealInit(RM5_); /* % Computing flow rates from the current pressure values. */ /* if (P(6) >= P(1)) */ if (( ((mccPR(P_P_)[(6-1)]) >= (mccPR(P_P_)[(1-1)])) && !mccREL_NAN((mccPR(P_P_)[(6-1)])) && !mccREL_NAN((mccPR(P_P_)[(1-1)])) )) { /* qli = (P(6)-P(1))/th(20); */ qli = (((mccPR(P_P_)[(6-1)]) - (mccPR(P_P_)[(1-1)])) / (double) (mccPR(th_P_)[(20-1)])); } else { /* else */ /* qli = 0; */ qli = 0; /* end */ } /* if (P(1) >= P(2)) */ if (( ((mccPR(P_P_)[(1-1)]) >= (mccPR(P_P_)[(2-1)])) && !mccREL_NAN((mccPR(P_P_)[(1-1)])) && !mccREL_NAN((mccPR(P_P_)[(2-1)])) )) { /* qlo = (P(1)-P(2))/th(15); */ qlo = (((mccPR(P_P_)[(1-1)]) - (mccPR(P_P_)[(2-1)])) / (double) (mccPR(th_P_)[(15-1)])); } else { /* else */ /* qlo = 0; */ qlo = 0; /* end */ } /* qla = P(8); */ qla = (mccPR(P_P_)[(8-1)]); /* qa = (P(7)-P(3))/th(16); */ qa = (((mccPR(P_P_)[(7-1)]) - (mccPR(P_P_)[(3-1)])) / (double) (mccPR(th_P_)[(16-1)])); /* if (P(3) > P(4) & P(4) >= th(91)) */ B0_ = ( ((mccPR(P_P_)[(3-1)]) > (mccPR(P_P_)[(4-1)])) && !mccREL_NAN((mccPR(P_P_)[(3-1)])) && !mccREL_NAN((mccPR(P_P_)[(4-1)])) ); if ((double)B0_) { B0_ = ( ((mccPR(P_P_)[(4-1)]) >= (mccPR(th_P_)[(91-1)])) && !mccREL_NAN((mccPR(P_P_)[(4-1)])) && !mccREL_NAN((mccPR(th_P_)[(91-1)])) ); } if ((double)B0_) { /* qri = (P(3)-P(4))/th(17); */ qri = (((mccPR(P_P_)[(3-1)]) - (mccPR(P_P_)[(4-1)])) / (double) (mccPR(th_P_)[(17-1)])); } else { /* elseif (P(3) > th(91) & th(91) > P(4)) */ B0_ = ( ((mccPR(P_P_)[(3-1)]) > (mccPR(th_P_)[(91-1)])) && !mccREL_NAN((mccPR(P_P_)[(3-1)])) && !mccREL_NAN((mccPR(th_P_)[(91-1)])) ); if ((double)B0_) { B0_ = ( ((mccPR(th_P_)[(91-1)]) > (mccPR(P_P_)[(4-1)])) && !mccREL_NAN((mccPR(th_P_)[(91-1)])) && !mccREL_NAN((mccPR(P_P_)[(4-1)])) ); } if ((double)B0_) { /* qri = (P(3)-th(91))/th(17); */ qri = (((mccPR(P_P_)[(3-1)]) - (mccPR(th_P_)[(91-1)])) / (double) (mccPR(th_P_)[(17-1)])); } else { /* else */ /* qri = 0; */ qri = 0; /* end */ } } /* if (P(4) >= P(5)) */ if (( ((mccPR(P_P_)[(4-1)]) >= (mccPR(P_P_)[(5-1)])) && !mccREL_NAN((mccPR(P_P_)[(4-1)])) && !mccREL_NAN((mccPR(P_P_)[(5-1)])) )) { /* qro = (P(4)-P(5))/th(18); */ qro = (((mccPR(P_P_)[(4-1)]) - (mccPR(P_P_)[(5-1)])) / (double) (mccPR(th_P_)[(18-1)])); } else { /* else */ /* qro = 0; */ qro = 0; /* end */ } /* h1 = (1330/(1.06*980))*(P(6)-Pbreathe(4)); */ h1 = ((1330 / (double) (1.06 * (double) 980)) * (double) ((mccPR(P_P_)[(6-1)]) - (mccPR(Pbreathe_P_)[(4-1)]))); /* if (h1 < -10) */ if (( (h1 < -10) && !mccREL_NAN(h1) )) { /* h1 = -10; */ h1 = -10; } else { /* elseif (h1 > 20) */ if (( (h1 > 20) && !mccREL_NAN(h1) )) { /* h1 = 20; */ h1 = 20; /* end */ } } /* h2 = (1330/(1.06*980))*(P(5)-Pbreathe(4)); */ h2 = ((1330 / (double) (1.06 * (double) 980)) * (double) ((mccPR(P_P_)[(5-1)]) - (mccPR(Pbreathe_P_)[(4-1)]))); /* if (h2 < -10) */ if (( (h2 < -10) && !mccREL_NAN(h2) )) { /* h2 = -10; */ h2 = -10; } else { /* elseif (h2 > 20) */ if (( (h2 > 20) && !mccREL_NAN(h2) )) { /* h2 = 20; */ h2 = 20; /* end */ } } /* qpa = (((P(5)-P(6))/(30*th(19)))*(h1+10)) + (((P(5)-Pbreathe(4))/(30*th(19)))*(h2-h1)) - (((1.06*980)/(2660*(30*th(19))))*(h2^2-h1^2)); */ qpa = ((((((mccPR(P_P_)[(5-1)]) - (mccPR(P_P_)[(6-1)])) / (double) (30 * (double) (mccPR(th_P_)[(19-1)]))) * (double) (h1 + 10)) + ((((mccPR(P_P_)[(5-1)]) - (mccPR(Pbreathe_P_)[(4-1)])) / (double) (30 * (double) (mccPR(th_P_)[(19-1)]))) * (double) (h2 - h1))) - (((1.06 * (double) 980) / (double) (2660 * (double) (30 * (double) (mccPR(th_P_)[(19-1)])))) * (double) (mcmRealPowerInt(h2, 2) - mcmRealPowerInt(h1, 2)))); /* % Computing ventricular elastances. */ /* [El,dEl] = var_cap(th(1),th(2),th(24),sumdeltaT); */ var_cap_(&El,&dEl, (mccPR(th_P_)[(1-1)]), (mccPR(th_P_)[(2-1)]), (mccPR(th_P_)[(24-1)]), sumdeltaT_P_); /* [Er,dEr] = var_cap(th(5),th(6),th(24),sumdeltaT); */ var_cap_(&Er,&dEr, (mccPR(th_P_)[(5-1)]), (mccPR(th_P_)[(6-1)]), (mccPR(th_P_)[(24-1)]), sumdeltaT_P_); /* % Computing dP from the above calculations and th parameter vector. */ /* if (P(1) < Pbreathe(2)) */ if (( ((mccPR(P_P_)[(1-1)]) < (mccPR(Pbreathe_P_)[(2-1)])) && !mccREL_NAN((mccPR(P_P_)[(1-1)])) && !mccREL_NAN((mccPR(Pbreathe_P_)[(2-1)])) )) { /* g = ((P(1)-Pbreathe(2)))/(El*th(9)*(2/pi)); */ R0_ = mcmPi(); g = (((mccPR(P_P_)[(1-1)]) - (mccPR(Pbreathe_P_)[(2-1)])) / (double) ((El * (double) (mccPR(th_P_)[(9-1)])) * (double) (2 / (double) R0_))); /* dPl = El*(qli-qlo)*(1+g^2) + (P(1)-Pbreathe(2))*(dEl/El) + Pbreathe(3); */ dPl = ((((El * (double) (qli - qlo)) * (double) (1 + mcmRealPowerInt(g, 2))) + (((mccPR(P_P_)[(1-1)]) - (mccPR(Pbreathe_P_)[(2-1)])) * (double) (dEl / (double) El))) + (mccPR(Pbreathe_P_)[(3-1)])); } else { /* else */ /* y = (P(1)-Pbreathe(2))/th(31); */ y = (((mccPR(P_P_)[(1-1)]) - (mccPR(Pbreathe_P_)[(2-1)])) / (double) (mccPR(th_P_)[(31-1)])); /* x = vent_vol(Qc(1),y,El); */ vent_vol_(&x, (mccPR(Qc_P_)[(1-1)]), y, El); /* x0 = 1/(El+1); */ x0 = (1 / (double) (El + 1)); /* k = 50; */ k = 50; /* mbrealscalar(-k*(x-x0)); */ /* mbrealscalar(-k*(1-x0)); */ /* mbrealscalar(k*x0); */ /* dx = (qli-qlo)/(th(26)-th(9)); */ dx = ((qli - qlo) / (double) ((mccPR(th_P_)[(26-1)]) - (mccPR(th_P_)[(9-1)]))); /* dx0 = -dEl/((El+1)^2); */ dx0 = ((-dEl) / (double) mcmRealPowerInt((El + 1), 2)); /* c = 1+exp(-k*(1-x0)); */ R0_ = exp(((-k) * (double) (1 - x0))); c = (1 + R0_); /* d = 1+exp(k*x0); */ R0_ = exp((k * (double) x0)); d = (1 + R0_); /* g = 1+exp(-k*(x-x0)); */ R0_ = exp(((-k) * (double) (x - x0))); g = (1 + R0_); /* dc = k*dx0*exp(-k*(1-x0)); */ R0_ = exp(((-k) * (double) (1 - x0))); dc = ((k * (double) dx0) * (double) R0_); /* dd = k*dx0*exp(k*x0); */ R0_ = exp((k * (double) x0)); dd = ((k * (double) dx0) * (double) R0_); /* dg = -k*(dx-dx0)*exp(-k*(x-x0)); */ R0_ = exp(((-k) * (double) (x - x0))); dg = (((-k) * (double) (dx - dx0)) * (double) R0_); /* denb = (1+(1/k)*log(c/d)); */ R0_ = log((c / (double) d)); denb = (1 + ((1 / (double) k) * (double) R0_)); /* b = (1-El)/denb; */ b = ((1 - El) / (double) denb); /* db = (-dEl*denb - (1-El)*(1/k)*((d*dc-c*dd)/(c*d)))/(denb^2); */ db = ((((-dEl) * (double) denb) - (((1 - El) * (double) (1 / (double) k)) * (double) (((d * (double) dc) - (c * (double) dd)) / (double) (c * (double) d)))) / (double) mcmRealPowerInt(denb, 2)); /* dy = dEl*x + El*dx + db*(x+(1/k)*(log(g/d))) + b*(dx+(1/k)*((d*dg-g*dd)/(g*d))); */ R0_ = log((g / (double) d)); dy = ((((dEl * (double) x) + (El * (double) dx)) + (db * (double) (x + ((1 / (double) k) * (double) R0_)))) + (b * (double) (dx + ((1 / (double) k) * (double) (((d * (double) dg) - (g * (double) dd)) / (double) (g * (double) d)))))); /* dPl = th(31)*dy + Pbreathe(3); */ dPl = (((mccPR(th_P_)[(31-1)]) * (double) dy) + (mccPR(Pbreathe_P_)[(3-1)])); /* end */ } /* if (P(4) < Pbreathe(2)) */ if (( ((mccPR(P_P_)[(4-1)]) < (mccPR(Pbreathe_P_)[(2-1)])) && !mccREL_NAN((mccPR(P_P_)[(4-1)])) && !mccREL_NAN((mccPR(Pbreathe_P_)[(2-1)])) )) { /* g = ((P(4)-Pbreathe(2)))/(Er*th(12)*(2/pi)); */ R0_ = mcmPi(); g = (((mccPR(P_P_)[(4-1)]) - (mccPR(Pbreathe_P_)[(2-1)])) / (double) ((Er * (double) (mccPR(th_P_)[(12-1)])) * (double) (2 / (double) R0_))); /* dPr = Er*(qri-qro)*(1+g^2) + (P(4)-Pbreathe(2))*(dEr/Er) + Pbreathe(3); */ dPr = ((((Er * (double) (qri - qro)) * (double) (1 + mcmRealPowerInt(g, 2))) + (((mccPR(P_P_)[(4-1)]) - (mccPR(Pbreathe_P_)[(2-1)])) * (double) (dEr / (double) Er))) + (mccPR(Pbreathe_P_)[(3-1)])); } else { /* else */ /* y = (P(4)-Pbreathe(2))/th(32); */ y = (((mccPR(P_P_)[(4-1)]) - (mccPR(Pbreathe_P_)[(2-1)])) / (double) (mccPR(th_P_)[(32-1)])); /* x = vent_vol(Qc(2),y,Er); */ vent_vol_(&x, (mccPR(Qc_P_)[(2-1)]), y, Er); /* x0 = 1/(Er+1); */ x0 = (1 / (double) (Er + 1)); /* k = 50; */ k = 50; /* mbrealscalar(-k*(x-x0)); */ /* mbrealscalar(-k*(1-x0)); */ /* mbrealscalar(k*x0); */ /* dx = (qri-qro)/(th(27)-th(12)); */ dx = ((qri - qro) / (double) ((mccPR(th_P_)[(27-1)]) - (mccPR(th_P_)[(12-1)]))); /* dx0 = -dEr/((Er+1)^2); */ dx0 = ((-dEr) / (double) mcmRealPowerInt((Er + 1), 2)); /* c = 1+exp(-k*(1-x0)); */ R0_ = exp(((-k) * (double) (1 - x0))); c = (1 + R0_); /* d = 1+exp(k*x0); */ R0_ = exp((k * (double) x0)); d = (1 + R0_); /* g = 1+exp(-k*(x-x0)); */ R0_ = exp(((-k) * (double) (x - x0))); g = (1 + R0_); /* dc = k*dx0*exp(-k*(1-x0)); */ R0_ = exp(((-k) * (double) (1 - x0))); dc = ((k * (double) dx0) * (double) R0_); /* dd = k*dx0*exp(k*x0); */ R0_ = exp((k * (double) x0)); dd = ((k * (double) dx0) * (double) R0_); /* dg = -k*(dx-dx0)*exp(-k*(x-x0)); */ R0_ = exp(((-k) * (double) (x - x0))); dg = (((-k) * (double) (dx - dx0)) * (double) R0_); /* denb = (1+(1/k)*log(c/d)); */ R0_ = log((c / (double) d)); denb = (1 + ((1 / (double) k) * (double) R0_)); /* b = (1-Er)/denb; */ b = ((1 - Er) / (double) denb); /* db = (-dEr*denb - (1-Er)*(1/k)*((d*dc-c*dd)/(c*d)))/(denb^2); */ db = ((((-dEr) * (double) denb) - (((1 - Er) * (double) (1 / (double) k)) * (double) (((d * (double) dc) - (c * (double) dd)) / (double) (c * (double) d)))) / (double) mcmRealPowerInt(denb, 2)); /* dy = dEr*x + Er*dx + db*(x+(1/k)*(log(g/d))) + b*(dx+(1/k)*((d*dg-g*dd)/(g*d))); */ R0_ = log((g / (double) d)); dy = ((((dEr * (double) x) + (Er * (double) dx)) + (db * (double) (x + ((1 / (double) k) * (double) R0_)))) + (b * (double) (dx + ((1 / (double) k) * (double) (((d * (double) dg) - (g * (double) dd)) / (double) (g * (double) d)))))); /* dPr = th(32)*dy + Pbreathe(3); */ dPr = (((mccPR(th_P_)[(32-1)]) * (double) dy) + (mccPR(Pbreathe_P_)[(3-1)])); /* end */ } /* dP = [dPl; ((qlo-qla)/th(72)); (qa-qri)/th(4); dPr; ((qro-qpa)/th(7))+Pbreathe(3); ((qpa-qli)/th(8))+Pbreathe(3); (qla-qa)/th(73); (P(2)-P(7))/th(69)]; */ mccCatenateRows(&RM0_, mccTempMatrix(dPl, 0., mccREAL, 0 ), mccTempMatrix(((qlo - qla) / (double) (mccPR(th_P_)[(72-1)])), 0., mccREAL, 0 )); mccCatenateRows(&RM1_, &RM0_, mccTempMatrix(((qa - qri) / (double) (mccPR(th_P_)[(4-1)])), 0., mccREAL, 0 )); mccCatenateRows(&RM2_, &RM1_, mccTempMatrix(dPr, 0., mccREAL, 0 )); mccCatenateRows(&RM3_, &RM2_, mccTempMatrix((((qro - qpa) / (double) (mccPR(th_P_)[(7-1)])) + (mccPR(Pbreathe_P_)[(3-1)])), 0., mccREAL, 0 )); mccCatenateRows(&RM4_, &RM3_, mccTempMatrix((((qpa - qli) / (double) (mccPR(th_P_)[(8-1)])) + (mccPR(Pbreathe_P_)[(3-1)])), 0., mccREAL, 0 )); mccCatenateRows(&RM5_, &RM4_, mccTempMatrix(((qla - qa) / (double) (mccPR(th_P_)[(73-1)])), 0., mccREAL, 0 )); mccCatenateRows(&dP, &RM5_, mccTempMatrix((((mccPR(P_P_)[(2-1)]) - (mccPR(P_P_)[(7-1)])) / (double) (mccPR(th_P_)[(69-1)])), 0., mccREAL, 0 )); mccCopy(dP_PP_, &dP ); mccFreeMatrix(&dP); mccFreeMatrix(&RM0_); mccFreeMatrix(&RM1_); mccFreeMatrix(&RM2_); mccFreeMatrix(&RM3_); mccFreeMatrix(&RM4_); mccFreeMatrix(&RM5_); return; } /* R = nac_eval_deriv(RRRRR) */ /***************** Compiler Assumptions **************** * M-File: /data/rmukkama/cvsim/rcvsim/src/nac_eval_deriv.m * * B0_ boolean scalar temporary * El real scalar * Er real scalar * P real vector/matrix * Pbreathe real vector/matrix * Qamax real scalar * Qao real scalar * Qc real vector/matrix * R0_ real scalar temporary * R1_ real scalar temporary * RM0_ real vector/matrix temporary * RM1_ real vector/matrix temporary * RM2_ real vector/matrix temporary * RM3_ real vector/matrix temporary * RM4_ real vector/matrix temporary * RM5_ real vector/matrix temporary * alphatau real scalar * b real scalar * c real scalar * d real scalar * dEl real scalar * dEr real scalar * dP real vector/matrix * dPl real scalar * dPr real scalar * db real scalar * dc real scalar * dd real scalar * denb real scalar * dg real scalar * dx real scalar * dx0 real scalar * dy real scalar * exp * g real scalar * h1 real scalar * h2 real scalar * k integer scalar * mbrealscalar * nac_eval_deriv_ * pi * qa real scalar * qli real scalar * qlo real scalar * qpa real scalar * qri real scalar * qro real scalar * reallog * sumdeltaT real vector/matrix * th real vector/matrix * var_cap * vent_vol * x real scalar * x0 real scalar * y real scalar *******************************************************/ static void nac_eval_deriv_(mxArray *dP_PP_, mxArray *P_P_, mxArray *Qc_P_, mxArray *Pbreathe_P_, mxArray *th_P_, mxArray *sumdeltaT_P_ ) { mxArray dP; double qli = 0.0; double qlo = 0.0; double qa = 0.0; double qri = 0.0; double qro = 0.0; double h1 = 0.0; double h2 = 0.0; double qpa = 0.0; double El = 0.0; double dEl = 0.0; double Er = 0.0; double dEr = 0.0; double g = 0.0; double dPl = 0.0; double y = 0.0; double x = 0.0; double x0 = 0.0; int k = 0; double dx = 0.0; double dx0 = 0.0; double c = 0.0; double d = 0.0; double dc = 0.0; double dd = 0.0; double dg = 0.0; double denb = 0.0; double b = 0.0; double db = 0.0; double dy = 0.0; double dPr = 0.0; double alphatau = 0.0; double Qamax = 0.0; double Qao = 0.0; unsigned short B0_ = 0; double R0_ = 0.0; double R1_ = 0.0; mxArray RM0_; mxArray RM1_; mxArray RM2_; mxArray RM3_; mxArray RM4_; mxArray RM5_; mccRealInit(dP); mccRealInit(RM0_); mccRealInit(RM1_); mccRealInit(RM2_); mccRealInit(RM3_); mccRealInit(RM4_); mccRealInit(RM5_); /* % Computing flow rates from the current pressure values. */ /* if (P(6) >= P(1)) */ if (( ((mccPR(P_P_)[(6-1)]) >= (mccPR(P_P_)[(1-1)])) && !mccREL_NAN((mccPR(P_P_)[(6-1)])) && !mccREL_NAN((mccPR(P_P_)[(1-1)])) )) { /* qli = (P(6)-P(1))/th(20); */ qli = (((mccPR(P_P_)[(6-1)]) - (mccPR(P_P_)[(1-1)])) / (double) (mccPR(th_P_)[(20-1)])); } else { /* else */ /* qli = 0; */ qli = 0; /* end */ } /* if (P(1) >= P(2)) */ if (( ((mccPR(P_P_)[(1-1)]) >= (mccPR(P_P_)[(2-1)])) && !mccREL_NAN((mccPR(P_P_)[(1-1)])) && !mccREL_NAN((mccPR(P_P_)[(2-1)])) )) { /* qlo = (P(1)-P(2))/th(15); */ qlo = (((mccPR(P_P_)[(1-1)]) - (mccPR(P_P_)[(2-1)])) / (double) (mccPR(th_P_)[(15-1)])); } else { /* else */ /* qlo = 0; */ qlo = 0; /* end */ } /* qa = (P(2)-P(3))/th(16); */ qa = (((mccPR(P_P_)[(2-1)]) - (mccPR(P_P_)[(3-1)])) / (double) (mccPR(th_P_)[(16-1)])); /* if (P(3) > P(4) & P(4) >= th(91)) */ B0_ = ( ((mccPR(P_P_)[(3-1)]) > (mccPR(P_P_)[(4-1)])) && !mccREL_NAN((mccPR(P_P_)[(3-1)])) && !mccREL_NAN((mccPR(P_P_)[(4-1)])) ); if ((double)B0_) { B0_ = ( ((mccPR(P_P_)[(4-1)]) >= (mccPR(th_P_)[(91-1)])) && !mccREL_NAN((mccPR(P_P_)[(4-1)])) && !mccREL_NAN((mccPR(th_P_)[(91-1)])) ); } if ((double)B0_) { /* qri = (P(3)-P(4))/th(17); */ qri = (((mccPR(P_P_)[(3-1)]) - (mccPR(P_P_)[(4-1)])) / (double) (mccPR(th_P_)[(17-1)])); } else { /* elseif (P(3) > th(91) & th(91) > P(4)) */ B0_ = ( ((mccPR(P_P_)[(3-1)]) > (mccPR(th_P_)[(91-1)])) && !mccREL_NAN((mccPR(P_P_)[(3-1)])) && !mccREL_NAN((mccPR(th_P_)[(91-1)])) ); if ((double)B0_) { B0_ = ( ((mccPR(th_P_)[(91-1)]) > (mccPR(P_P_)[(4-1)])) && !mccREL_NAN((mccPR(th_P_)[(91-1)])) && !mccREL_NAN((mccPR(P_P_)[(4-1)])) ); } if ((double)B0_) { /* qri = (P(3)-th(91))/th(17); */ qri = (((mccPR(P_P_)[(3-1)]) - (mccPR(th_P_)[(91-1)])) / (double) (mccPR(th_P_)[(17-1)])); } else { /* else */ /* qri = 0; */ qri = 0; /* end */ } } /* if (P(4) >= P(5)) */ if (( ((mccPR(P_P_)[(4-1)]) >= (mccPR(P_P_)[(5-1)])) && !mccREL_NAN((mccPR(P_P_)[(4-1)])) && !mccREL_NAN((mccPR(P_P_)[(5-1)])) )) { /* qro = (P(4)-P(5))/th(18); */ qro = (((mccPR(P_P_)[(4-1)]) - (mccPR(P_P_)[(5-1)])) / (double) (mccPR(th_P_)[(18-1)])); } else { /* else */ /* qro = 0; */ qro = 0; /* end */ } /* h1 = (1330/(1.06*980))*(P(6)-Pbreathe(4)); */ h1 = ((1330 / (double) (1.06 * (double) 980)) * (double) ((mccPR(P_P_)[(6-1)]) - (mccPR(Pbreathe_P_)[(4-1)]))); /* if (h1 < -10) */ if (( (h1 < -10) && !mccREL_NAN(h1) )) { /* h1 = -10; */ h1 = -10; } else { /* elseif (h1 > 20) */ if (( (h1 > 20) && !mccREL_NAN(h1) )) { /* h1 = 20; */ h1 = 20; /* end */ } } /* h2 = (1330/(1.06*980))*(P(5)-Pbreathe(4)); */ h2 = ((1330 / (double) (1.06 * (double) 980)) * (double) ((mccPR(P_P_)[(5-1)]) - (mccPR(Pbreathe_P_)[(4-1)]))); /* if (h2 < -10) */ if (( (h2 < -10) && !mccREL_NAN(h2) )) { /* h2 = -10; */ h2 = -10; } else { /* elseif (h2 > 20) */ if (( (h2 > 20) && !mccREL_NAN(h2) )) { /* h2 = 20; */ h2 = 20; /* end */ } } /* qpa = (((P(5)-P(6))/(30*th(19)))*(h1+10)) + (((P(5)-Pbreathe(4))/(30*th(19)))*(h2-h1)) - (((1.06*980)/(2660*(30*th(19))))*(h2^2-h1^2)); */ qpa = ((((((mccPR(P_P_)[(5-1)]) - (mccPR(P_P_)[(6-1)])) / (double) (30 * (double) (mccPR(th_P_)[(19-1)]))) * (double) (h1 + 10)) + ((((mccPR(P_P_)[(5-1)]) - (mccPR(Pbreathe_P_)[(4-1)])) / (double) (30 * (double) (mccPR(th_P_)[(19-1)]))) * (double) (h2 - h1))) - (((1.06 * (double) 980) / (double) (2660 * (double) (30 * (double) (mccPR(th_P_)[(19-1)])))) * (double) (mcmRealPowerInt(h2, 2) - mcmRealPowerInt(h1, 2)))); /* % Computing ventricular elastances. */ /* [El,dEl] = var_cap(th(1),th(2),th(24),sumdeltaT); */ var_cap_(&El,&dEl, (mccPR(th_P_)[(1-1)]), (mccPR(th_P_)[(2-1)]), (mccPR(th_P_)[(24-1)]), sumdeltaT_P_); /* [Er,dEr] = var_cap(th(5),th(6),th(24),sumdeltaT); */ var_cap_(&Er,&dEr, (mccPR(th_P_)[(5-1)]), (mccPR(th_P_)[(6-1)]), (mccPR(th_P_)[(24-1)]), sumdeltaT_P_); /* % Computing dP from the above calculations and th parameter vector. */ /* if (P(1) < Pbreathe(2)) */ if (( ((mccPR(P_P_)[(1-1)]) < (mccPR(Pbreathe_P_)[(2-1)])) && !mccREL_NAN((mccPR(P_P_)[(1-1)])) && !mccREL_NAN((mccPR(Pbreathe_P_)[(2-1)])) )) { /* g = ((P(1)-Pbreathe(2)))/(El*th(9)*(2/pi)); */ R0_ = mcmPi(); g = (((mccPR(P_P_)[(1-1)]) - (mccPR(Pbreathe_P_)[(2-1)])) / (double) ((El * (double) (mccPR(th_P_)[(9-1)])) * (double) (2 / (double) R0_))); /* dPl = El*(qli-qlo)*(1+g^2) + (P(1)-Pbreathe(2))*(dEl/El) + Pbreathe(3); */ dPl = ((((El * (double) (qli - qlo)) * (double) (1 + mcmRealPowerInt(g, 2))) + (((mccPR(P_P_)[(1-1)]) - (mccPR(Pbreathe_P_)[(2-1)])) * (double) (dEl / (double) El))) + (mccPR(Pbreathe_P_)[(3-1)])); } else { /* else */ /* y = (P(1)-Pbreathe(2))/th(31); */ y = (((mccPR(P_P_)[(1-1)]) - (mccPR(Pbreathe_P_)[(2-1)])) / (double) (mccPR(th_P_)[(31-1)])); /* x = vent_vol(Qc(1),y,El); */ vent_vol_(&x, (mccPR(Qc_P_)[(1-1)]), y, El); /* x0 = 1/(El+1); */ x0 = (1 / (double) (El + 1)); /* k = 50; */ k = 50; /* mbrealscalar(-k*(x-x0)); */ /* mbrealscalar(-k*(1-x0)); */ /* mbrealscalar(k*x0); */ /* dx = (qli-qlo)/(th(26)-th(9)); */ dx = ((qli - qlo) / (double) ((mccPR(th_P_)[(26-1)]) - (mccPR(th_P_)[(9-1)]))); /* dx0 = -dEl/((El+1)^2); */ dx0 = ((-dEl) / (double) mcmRealPowerInt((El + 1), 2)); /* c = 1+exp(-k*(1-x0)); */ R0_ = exp(((-k) * (double) (1 - x0))); c = (1 + R0_); /* d = 1+exp(k*x0); */ R0_ = exp((k * (double) x0)); d = (1 + R0_); /* g = 1+exp(-k*(x-x0)); */ R0_ = exp(((-k) * (double) (x - x0))); g = (1 + R0_); /* dc = k*dx0*exp(-k*(1-x0)); */ R0_ = exp(((-k) * (double) (1 - x0))); dc = ((k * (double) dx0) * (double) R0_); /* dd = k*dx0*exp(k*x0); */ R0_ = exp((k * (double) x0)); dd = ((k * (double) dx0) * (double) R0_); /* dg = -k*(dx-dx0)*exp(-k*(x-x0)); */ R0_ = exp(((-k) * (double) (x - x0))); dg = (((-k) * (double) (dx - dx0)) * (double) R0_); /* denb = (1+(1/k)*log(c/d)); */ R0_ = log((c / (double) d)); denb = (1 + ((1 / (double) k) * (double) R0_)); /* b = (1-El)/denb; */ b = ((1 - El) / (double) denb); /* db = (-dEl*denb - (1-El)*(1/k)*((d*dc-c*dd)/(c*d)))/(denb^2); */ db = ((((-dEl) * (double) denb) - (((1 - El) * (double) (1 / (double) k)) * (double) (((d * (double) dc) - (c * (double) dd)) / (double) (c * (double) d)))) / (double) mcmRealPowerInt(denb, 2)); /* dy = dEl*x + El*dx + db*(x+(1/k)*(log(g/d))) + b*(dx+(1/k)*((d*dg-g*dd)/(g*d))); */ R0_ = log((g / (double) d)); dy = ((((dEl * (double) x) + (El * (double) dx)) + (db * (double) (x + ((1 / (double) k) * (double) R0_)))) + (b * (double) (dx + ((1 / (double) k) * (double) (((d * (double) dg) - (g * (double) dd)) / (double) (g * (double) d)))))); /* dPl = th(31)*dy + Pbreathe(3); */ dPl = (((mccPR(th_P_)[(31-1)]) * (double) dy) + (mccPR(Pbreathe_P_)[(3-1)])); /* end */ } /* if (P(4) < Pbreathe(2)) */ if (( ((mccPR(P_P_)[(4-1)]) < (mccPR(Pbreathe_P_)[(2-1)])) && !mccREL_NAN((mccPR(P_P_)[(4-1)])) && !mccREL_NAN((mccPR(Pbreathe_P_)[(2-1)])) )) { /* g = ((P(4)-Pbreathe(2)))/(Er*th(12)*(2/pi)); */ R0_ = mcmPi(); g = (((mccPR(P_P_)[(4-1)]) - (mccPR(Pbreathe_P_)[(2-1)])) / (double) ((Er * (double) (mccPR(th_P_)[(12-1)])) * (double) (2 / (double) R0_))); /* dPr = Er*(qri-qro)*(1+g^2) + (P(4)-Pbreathe(2))*(dEr/Er) + Pbreathe(3); */ dPr = ((((Er * (double) (qri - qro)) * (double) (1 + mcmRealPowerInt(g, 2))) + (((mccPR(P_P_)[(4-1)]) - (mccPR(Pbreathe_P_)[(2-1)])) * (double) (dEr / (double) Er))) + (mccPR(Pbreathe_P_)[(3-1)])); } else { /* else */ /* y = (P(4)-Pbreathe(2))/th(32); */ y = (((mccPR(P_P_)[(4-1)]) - (mccPR(Pbreathe_P_)[(2-1)])) / (double) (mccPR(th_P_)[(32-1)])); /* x = vent_vol(Qc(2),y,Er); */ vent_vol_(&x, (mccPR(Qc_P_)[(2-1)]), y, Er); /* x0 = 1/(Er+1); */ x0 = (1 / (double) (Er + 1)); /* k = 50; */ k = 50; /* mbrealscalar(-k*(x-x0)); */ /* mbrealscalar(-k*(1-x0)); */ /* mbrealscalar(k*x0); */ /* dx = (qri-qro)/(th(27)-th(12)); */ dx = ((qri - qro) / (double) ((mccPR(th_P_)[(27-1)]) - (mccPR(th_P_)[(12-1)]))); /* dx0 = -dEr/((Er+1)^2); */ dx0 = ((-dEr) / (double) mcmRealPowerInt((Er + 1), 2)); /* c = 1+exp(-k*(1-x0)); */ R0_ = exp(((-k) * (double) (1 - x0))); c = (1 + R0_); /* d = 1+exp(k*x0); */ R0_ = exp((k * (double) x0)); d = (1 + R0_); /* g = 1+exp(-k*(x-x0)); */ R0_ = exp(((-k) * (double) (x - x0))); g = (1 + R0_); /* dc = k*dx0*exp(-k*(1-x0)); */ R0_ = exp(((-k) * (double) (1 - x0))); dc = ((k * (double) dx0) * (double) R0_); /* dd = k*dx0*exp(k*x0); */ R0_ = exp((k * (double) x0)); dd = ((k * (double) dx0) * (double) R0_); /* dg = -k*(dx-dx0)*exp(-k*(x-x0)); */ R0_ = exp(((-k) * (double) (x - x0))); dg = (((-k) * (double) (dx - dx0)) * (double) R0_); /* denb = (1+(1/k)*log(c/d)); */ R0_ = log((c / (double) d)); denb = (1 + ((1 / (double) k) * (double) R0_)); /* b = (1-Er)/denb; */ b = ((1 - Er) / (double) denb); /* db = (-dEr*denb - (1-Er)*(1/k)*((d*dc-c*dd)/(c*d)))/(denb^2); */ db = ((((-dEr) * (double) denb) - (((1 - Er) * (double) (1 / (double) k)) * (double) (((d * (double) dc) - (c * (double) dd)) / (double) (c * (double) d)))) / (double) mcmRealPowerInt(denb, 2)); /* dy = dEr*x + Er*dx + db*(x+(1/k)*(log(g/d))) + b*(dx+(1/k)*((d*dg-g*dd)/(g*d))); */ R0_ = log((g / (double) d)); dy = ((((dEr * (double) x) + (Er * (double) dx)) + (db * (double) (x + ((1 / (double) k) * (double) R0_)))) + (b * (double) (dx + ((1 / (double) k) * (double) (((d * (double) dg) - (g * (double) dd)) / (double) (g * (double) d)))))); /* dPr = th(32)*dy + Pbreathe(3); */ dPr = (((mccPR(th_P_)[(32-1)]) * (double) dy) + (mccPR(Pbreathe_P_)[(3-1)])); /* end */ } /* alphatau = -th(70)/th(3); */ alphatau = ((-(mccPR(th_P_)[(70-1)])) / (double) (mccPR(th_P_)[(3-1)])); /* Qamax = th(71)-th(3)^2/th(70); */ Qamax = ((mccPR(th_P_)[(71-1)]) - (mcmRealPowerInt((mccPR(th_P_)[(3-1)]), 2) / (double) (mccPR(th_P_)[(70-1)]))); /* Qao = th(71)+(th(3)^2/th(70))*exp(-th(70)*th(40)/th(3))*(1-exp(th(70)*th(40)/th(3))); */ R0_ = exp((((-(mccPR(th_P_)[(70-1)])) * (double) (mccPR(th_P_)[(40-1)])) / (double) (mccPR(th_P_)[(3-1)]))); R1_ = exp((((mccPR(th_P_)[(70-1)]) * (double) (mccPR(th_P_)[(40-1)])) / (double) (mccPR(th_P_)[(3-1)]))); Qao = ((mccPR(th_P_)[(71-1)]) + (((mcmRealPowerInt((mccPR(th_P_)[(3-1)]), 2) / (double) (mccPR(th_P_)[(70-1)])) * (double) R0_) * (double) (1 - R1_))); /* dP = [dPl; ((qlo-qa)/(alphatau*(Qamax-Qao)*exp(-alphatau*P(2)))); (qa-qri)/th(4); dPr; ((qro-qpa)/th(7))+Pbreathe(3); ((qpa-qli)/th(8))+Pbreathe(3); 0; 0]; */ R1_ = exp(((-alphatau) * (double) (mccPR(P_P_)[(2-1)]))); mccCatenateRows(&RM0_, mccTempMatrix(dPl, 0., mccREAL, 0 ), mccTempMatrix(((qlo - qa) / (double) ((alphatau * (double) (Qamax - Qao)) * (double) R1_)), 0., mccREAL, 0 )); mccCatenateRows(&RM1_, &RM0_, mccTempMatrix(((qa - qri) / (double) (mccPR(th_P_)[(4-1)])), 0., mccREAL, 0 )); mccCatenateRows(&RM2_, &RM1_, mccTempMatrix(dPr, 0., mccREAL, 0 )); mccCatenateRows(&RM3_, &RM2_, mccTempMatrix((((qro - qpa) / (double) (mccPR(th_P_)[(7-1)])) + (mccPR(Pbreathe_P_)[(3-1)])), 0., mccREAL, 0 )); mccCatenateRows(&RM4_, &RM3_, mccTempMatrix((((qpa - qli) / (double) (mccPR(th_P_)[(8-1)])) + (mccPR(Pbreathe_P_)[(3-1)])), 0., mccREAL, 0 )); mccCatenateRows(&RM5_, &RM4_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateRows(&dP, &RM5_, mccTempMatrix(0, 0., mccINT, 0 )); mccCopy(dP_PP_, &dP ); mccFreeMatrix(&dP); mccFreeMatrix(&RM0_); mccFreeMatrix(&RM1_); mccFreeMatrix(&RM2_); mccFreeMatrix(&RM3_); mccFreeMatrix(&RM4_); mccFreeMatrix(&RM5_); return; } /* R = third_nac_eval_deriv(RRRRR) */ /***************** Compiler Assumptions **************** * M-File: /data/rmukkama/cvsim/rcvsim/src/third_nac_eval_deriv.m * * B0_ boolean scalar temporary * El real scalar * Er real scalar * P real vector/matrix * Pbreathe real vector/matrix * Qamax real scalar * Qao real scalar * Qc real vector/matrix * R0_ real scalar temporary * R1_ real scalar temporary * RM0_ real vector/matrix temporary * RM1_ real vector/matrix temporary * RM2_ real vector/matrix temporary * RM3_ real vector/matrix temporary * RM4_ real vector/matrix temporary * RM5_ real vector/matrix temporary * alphatau real scalar * b real scalar * c real scalar * d real scalar * dEl real scalar * dEr real scalar * dP real vector/matrix * dPl real scalar * dPr real scalar * db real scalar * dc real scalar * dd real scalar * denb real scalar * dg real scalar * dx real scalar * dx0 real scalar * dy real scalar * exp * g real scalar * h1 real scalar * h2 real scalar * k integer scalar * mbrealscalar * pi * qa real scalar * qla real scalar * qli real scalar * qlo real scalar * qpa real scalar * qri real scalar * qro real scalar * reallog * sumdeltaT real vector/matrix * th real vector/matrix * third_nac_eval_deriv_ * var_cap * vent_vol * x real scalar * x0 real scalar * y real scalar *******************************************************/ static void third_nac_eval_deriv_(mxArray *dP_PP_, mxArray *P_P_, mxArray *Qc_P_, mxArray *Pbreathe_P_, mxArray *th_P_, mxArray *sumdeltaT_P_ ) { mxArray dP; double qli = 0.0; double qlo = 0.0; double qla = 0.0; double qa = 0.0; double qri = 0.0; double qro = 0.0; double h1 = 0.0; double h2 = 0.0; double qpa = 0.0; double El = 0.0; double dEl = 0.0; double Er = 0.0; double dEr = 0.0; double g = 0.0; double dPl = 0.0; double y = 0.0; double x = 0.0; double x0 = 0.0; int k = 0; double dx = 0.0; double dx0 = 0.0; double c = 0.0; double d = 0.0; double dc = 0.0; double dd = 0.0; double dg = 0.0; double denb = 0.0; double b = 0.0; double db = 0.0; double dy = 0.0; double dPr = 0.0; double alphatau = 0.0; double Qamax = 0.0; double Qao = 0.0; unsigned short B0_ = 0; double R0_ = 0.0; double R1_ = 0.0; mxArray RM0_; mxArray RM1_; mxArray RM2_; mxArray RM3_; mxArray RM4_; mxArray RM5_; mccRealInit(dP); mccRealInit(RM0_); mccRealInit(RM1_); mccRealInit(RM2_); mccRealInit(RM3_); mccRealInit(RM4_); mccRealInit(RM5_); /* % Computing flow rates from the current pressure values. */ /* if (P(6) >= P(1)) */ if (( ((mccPR(P_P_)[(6-1)]) >= (mccPR(P_P_)[(1-1)])) && !mccREL_NAN((mccPR(P_P_)[(6-1)])) && !mccREL_NAN((mccPR(P_P_)[(1-1)])) )) { /* qli = (P(6)-P(1))/th(20); */ qli = (((mccPR(P_P_)[(6-1)]) - (mccPR(P_P_)[(1-1)])) / (double) (mccPR(th_P_)[(20-1)])); } else { /* else */ /* qli = 0; */ qli = 0; /* end */ } /* if (P(1) >= P(2)) */ if (( ((mccPR(P_P_)[(1-1)]) >= (mccPR(P_P_)[(2-1)])) && !mccREL_NAN((mccPR(P_P_)[(1-1)])) && !mccREL_NAN((mccPR(P_P_)[(2-1)])) )) { /* qlo = (P(1)-P(2))/th(15); */ qlo = (((mccPR(P_P_)[(1-1)]) - (mccPR(P_P_)[(2-1)])) / (double) (mccPR(th_P_)[(15-1)])); } else { /* else */ /* qlo = 0; */ qlo = 0; /* end */ } /* qla = P(8); */ qla = (mccPR(P_P_)[(8-1)]); /* qa = (P(7)-P(3))/th(16); */ qa = (((mccPR(P_P_)[(7-1)]) - (mccPR(P_P_)[(3-1)])) / (double) (mccPR(th_P_)[(16-1)])); /* if (P(3) > P(4) & P(4) >= th(91)) */ B0_ = ( ((mccPR(P_P_)[(3-1)]) > (mccPR(P_P_)[(4-1)])) && !mccREL_NAN((mccPR(P_P_)[(3-1)])) && !mccREL_NAN((mccPR(P_P_)[(4-1)])) ); if ((double)B0_) { B0_ = ( ((mccPR(P_P_)[(4-1)]) >= (mccPR(th_P_)[(91-1)])) && !mccREL_NAN((mccPR(P_P_)[(4-1)])) && !mccREL_NAN((mccPR(th_P_)[(91-1)])) ); } if ((double)B0_) { /* qri = (P(3)-P(4))/th(17); */ qri = (((mccPR(P_P_)[(3-1)]) - (mccPR(P_P_)[(4-1)])) / (double) (mccPR(th_P_)[(17-1)])); } else { /* elseif (P(3) > th(91) & th(91) > P(4)) */ B0_ = ( ((mccPR(P_P_)[(3-1)]) > (mccPR(th_P_)[(91-1)])) && !mccREL_NAN((mccPR(P_P_)[(3-1)])) && !mccREL_NAN((mccPR(th_P_)[(91-1)])) ); if ((double)B0_) { B0_ = ( ((mccPR(th_P_)[(91-1)]) > (mccPR(P_P_)[(4-1)])) && !mccREL_NAN((mccPR(th_P_)[(91-1)])) && !mccREL_NAN((mccPR(P_P_)[(4-1)])) ); } if ((double)B0_) { /* qri = (P(3)-th(91))/th(17); */ qri = (((mccPR(P_P_)[(3-1)]) - (mccPR(th_P_)[(91-1)])) / (double) (mccPR(th_P_)[(17-1)])); } else { /* else */ /* qri = 0; */ qri = 0; /* end */ } } /* if (P(4) >= P(5)) */ if (( ((mccPR(P_P_)[(4-1)]) >= (mccPR(P_P_)[(5-1)])) && !mccREL_NAN((mccPR(P_P_)[(4-1)])) && !mccREL_NAN((mccPR(P_P_)[(5-1)])) )) { /* qro = (P(4)-P(5))/th(18); */ qro = (((mccPR(P_P_)[(4-1)]) - (mccPR(P_P_)[(5-1)])) / (double) (mccPR(th_P_)[(18-1)])); } else { /* else */ /* qro = 0; */ qro = 0; /* end */ } /* h1 = (1330/(1.06*980))*(P(6)-Pbreathe(4)); */ h1 = ((1330 / (double) (1.06 * (double) 980)) * (double) ((mccPR(P_P_)[(6-1)]) - (mccPR(Pbreathe_P_)[(4-1)]))); /* if (h1 < -10) */ if (( (h1 < -10) && !mccREL_NAN(h1) )) { /* h1 = -10; */ h1 = -10; } else { /* elseif (h1 > 20) */ if (( (h1 > 20) && !mccREL_NAN(h1) )) { /* h1 = 20; */ h1 = 20; /* end */ } } /* h2 = (1330/(1.06*980))*(P(5)-Pbreathe(4)); */ h2 = ((1330 / (double) (1.06 * (double) 980)) * (double) ((mccPR(P_P_)[(5-1)]) - (mccPR(Pbreathe_P_)[(4-1)]))); /* if (h2 < -10) */ if (( (h2 < -10) && !mccREL_NAN(h2) )) { /* h2 = -10; */ h2 = -10; } else { /* elseif (h2 > 20) */ if (( (h2 > 20) && !mccREL_NAN(h2) )) { /* h2 = 20; */ h2 = 20; /* end */ } } /* qpa = (((P(5)-P(6))/(30*th(19)))*(h1+10)) + (((P(5)-Pbreathe(4))/(30*th(19)))*(h2-h1)) - (((1.06*980)/(2660*(30*th(19))))*(h2^2-h1^2)); */ qpa = ((((((mccPR(P_P_)[(5-1)]) - (mccPR(P_P_)[(6-1)])) / (double) (30 * (double) (mccPR(th_P_)[(19-1)]))) * (double) (h1 + 10)) + ((((mccPR(P_P_)[(5-1)]) - (mccPR(Pbreathe_P_)[(4-1)])) / (double) (30 * (double) (mccPR(th_P_)[(19-1)]))) * (double) (h2 - h1))) - (((1.06 * (double) 980) / (double) (2660 * (double) (30 * (double) (mccPR(th_P_)[(19-1)])))) * (double) (mcmRealPowerInt(h2, 2) - mcmRealPowerInt(h1, 2)))); /* % Computing ventricular elastances. */ /* [El,dEl] = var_cap(th(1),th(2),th(24),sumdeltaT); */ var_cap_(&El,&dEl, (mccPR(th_P_)[(1-1)]), (mccPR(th_P_)[(2-1)]), (mccPR(th_P_)[(24-1)]), sumdeltaT_P_); /* [Er,dEr] = var_cap(th(5),th(6),th(24),sumdeltaT); */ var_cap_(&Er,&dEr, (mccPR(th_P_)[(5-1)]), (mccPR(th_P_)[(6-1)]), (mccPR(th_P_)[(24-1)]), sumdeltaT_P_); /* % Computing dP from the above calculations and th parameter vector. */ /* if (P(1) < Pbreathe(2)) */ if (( ((mccPR(P_P_)[(1-1)]) < (mccPR(Pbreathe_P_)[(2-1)])) && !mccREL_NAN((mccPR(P_P_)[(1-1)])) && !mccREL_NAN((mccPR(Pbreathe_P_)[(2-1)])) )) { /* g = ((P(1)-Pbreathe(2)))/(El*th(9)*(2/pi)); */ R0_ = mcmPi(); g = (((mccPR(P_P_)[(1-1)]) - (mccPR(Pbreathe_P_)[(2-1)])) / (double) ((El * (double) (mccPR(th_P_)[(9-1)])) * (double) (2 / (double) R0_))); /* dPl = El*(qli-qlo)*(1+g^2) + (P(1)-Pbreathe(2))*(dEl/El) + Pbreathe(3); */ dPl = ((((El * (double) (qli - qlo)) * (double) (1 + mcmRealPowerInt(g, 2))) + (((mccPR(P_P_)[(1-1)]) - (mccPR(Pbreathe_P_)[(2-1)])) * (double) (dEl / (double) El))) + (mccPR(Pbreathe_P_)[(3-1)])); } else { /* else */ /* y = (P(1)-Pbreathe(2))/th(31); */ y = (((mccPR(P_P_)[(1-1)]) - (mccPR(Pbreathe_P_)[(2-1)])) / (double) (mccPR(th_P_)[(31-1)])); /* x = vent_vol(Qc(1),y,El); */ vent_vol_(&x, (mccPR(Qc_P_)[(1-1)]), y, El); /* x0 = 1/(El+1); */ x0 = (1 / (double) (El + 1)); /* k = 50; */ k = 50; /* mbrealscalar(-k*(x-x0)); */ /* mbrealscalar(-k*(1-x0)); */ /* mbrealscalar(k*x0); */ /* dx = (qli-qlo)/(th(26)-th(9)); */ dx = ((qli - qlo) / (double) ((mccPR(th_P_)[(26-1)]) - (mccPR(th_P_)[(9-1)]))); /* dx0 = -dEl/((El+1)^2); */ dx0 = ((-dEl) / (double) mcmRealPowerInt((El + 1), 2)); /* c = 1+exp(-k*(1-x0)); */ R0_ = exp(((-k) * (double) (1 - x0))); c = (1 + R0_); /* d = 1+exp(k*x0); */ R0_ = exp((k * (double) x0)); d = (1 + R0_); /* g = 1+exp(-k*(x-x0)); */ R0_ = exp(((-k) * (double) (x - x0))); g = (1 + R0_); /* dc = k*dx0*exp(-k*(1-x0)); */ R0_ = exp(((-k) * (double) (1 - x0))); dc = ((k * (double) dx0) * (double) R0_); /* dd = k*dx0*exp(k*x0); */ R0_ = exp((k * (double) x0)); dd = ((k * (double) dx0) * (double) R0_); /* dg = -k*(dx-dx0)*exp(-k*(x-x0)); */ R0_ = exp(((-k) * (double) (x - x0))); dg = (((-k) * (double) (dx - dx0)) * (double) R0_); /* denb = (1+(1/k)*log(c/d)); */ R0_ = log((c / (double) d)); denb = (1 + ((1 / (double) k) * (double) R0_)); /* b = (1-El)/denb; */ b = ((1 - El) / (double) denb); /* db = (-dEl*denb - (1-El)*(1/k)*((d*dc-c*dd)/(c*d)))/(denb^2); */ db = ((((-dEl) * (double) denb) - (((1 - El) * (double) (1 / (double) k)) * (double) (((d * (double) dc) - (c * (double) dd)) / (double) (c * (double) d)))) / (double) mcmRealPowerInt(denb, 2)); /* dy = dEl*x + El*dx + db*(x+(1/k)*(log(g/d))) + b*(dx+(1/k)*((d*dg-g*dd)/(g*d))); */ R0_ = log((g / (double) d)); dy = ((((dEl * (double) x) + (El * (double) dx)) + (db * (double) (x + ((1 / (double) k) * (double) R0_)))) + (b * (double) (dx + ((1 / (double) k) * (double) (((d * (double) dg) - (g * (double) dd)) / (double) (g * (double) d)))))); /* dPl = th(31)*dy + Pbreathe(3); */ dPl = (((mccPR(th_P_)[(31-1)]) * (double) dy) + (mccPR(Pbreathe_P_)[(3-1)])); /* end */ } /* if (P(4) < Pbreathe(2)) */ if (( ((mccPR(P_P_)[(4-1)]) < (mccPR(Pbreathe_P_)[(2-1)])) && !mccREL_NAN((mccPR(P_P_)[(4-1)])) && !mccREL_NAN((mccPR(Pbreathe_P_)[(2-1)])) )) { /* g = ((P(4)-Pbreathe(2)))/(Er*th(12)*(2/pi)); */ R0_ = mcmPi(); g = (((mccPR(P_P_)[(4-1)]) - (mccPR(Pbreathe_P_)[(2-1)])) / (double) ((Er * (double) (mccPR(th_P_)[(12-1)])) * (double) (2 / (double) R0_))); /* dPr = Er*(qri-qro)*(1+g^2) + (P(4)-Pbreathe(2))*(dEr/Er) + Pbreathe(3); */ dPr = ((((Er * (double) (qri - qro)) * (double) (1 + mcmRealPowerInt(g, 2))) + (((mccPR(P_P_)[(4-1)]) - (mccPR(Pbreathe_P_)[(2-1)])) * (double) (dEr / (double) Er))) + (mccPR(Pbreathe_P_)[(3-1)])); } else { /* else */ /* y = (P(4)-Pbreathe(2))/th(32); */ y = (((mccPR(P_P_)[(4-1)]) - (mccPR(Pbreathe_P_)[(2-1)])) / (double) (mccPR(th_P_)[(32-1)])); /* x = vent_vol(Qc(2),y,Er); */ vent_vol_(&x, (mccPR(Qc_P_)[(2-1)]), y, Er); /* x0 = 1/(Er+1); */ x0 = (1 / (double) (Er + 1)); /* k = 50; */ k = 50; /* mbrealscalar(-k*(x-x0)); */ /* mbrealscalar(-k*(1-x0)); */ /* mbrealscalar(k*x0); */ /* dx = (qri-qro)/(th(27)-th(12)); */ dx = ((qri - qro) / (double) ((mccPR(th_P_)[(27-1)]) - (mccPR(th_P_)[(12-1)]))); /* dx0 = -dEr/((Er+1)^2); */ dx0 = ((-dEr) / (double) mcmRealPowerInt((Er + 1), 2)); /* c = 1+exp(-k*(1-x0)); */ R0_ = exp(((-k) * (double) (1 - x0))); c = (1 + R0_); /* d = 1+exp(k*x0); */ R0_ = exp((k * (double) x0)); d = (1 + R0_); /* g = 1+exp(-k*(x-x0)); */ R0_ = exp(((-k) * (double) (x - x0))); g = (1 + R0_); /* dc = k*dx0*exp(-k*(1-x0)); */ R0_ = exp(((-k) * (double) (1 - x0))); dc = ((k * (double) dx0) * (double) R0_); /* dd = k*dx0*exp(k*x0); */ R0_ = exp((k * (double) x0)); dd = ((k * (double) dx0) * (double) R0_); /* dg = -k*(dx-dx0)*exp(-k*(x-x0)); */ R0_ = exp(((-k) * (double) (x - x0))); dg = (((-k) * (double) (dx - dx0)) * (double) R0_); /* denb = (1+(1/k)*log(c/d)); */ R0_ = log((c / (double) d)); denb = (1 + ((1 / (double) k) * (double) R0_)); /* b = (1-Er)/denb; */ b = ((1 - Er) / (double) denb); /* db = (-dEr*denb - (1-Er)*(1/k)*((d*dc-c*dd)/(c*d)))/(denb^2); */ db = ((((-dEr) * (double) denb) - (((1 - Er) * (double) (1 / (double) k)) * (double) (((d * (double) dc) - (c * (double) dd)) / (double) (c * (double) d)))) / (double) mcmRealPowerInt(denb, 2)); /* dy = dEr*x + Er*dx + db*(x+(1/k)*(log(g/d))) + b*(dx+(1/k)*((d*dg-g*dd)/(g*d))); */ R0_ = log((g / (double) d)); dy = ((((dEr * (double) x) + (Er * (double) dx)) + (db * (double) (x + ((1 / (double) k) * (double) R0_)))) + (b * (double) (dx + ((1 / (double) k) * (double) (((d * (double) dg) - (g * (double) dd)) / (double) (g * (double) d)))))); /* dPr = th(32)*dy + Pbreathe(3); */ dPr = (((mccPR(th_P_)[(32-1)]) * (double) dy) + (mccPR(Pbreathe_P_)[(3-1)])); /* end */ } /* alphatau = -th(70)/th(72); */ alphatau = ((-(mccPR(th_P_)[(70-1)])) / (double) (mccPR(th_P_)[(72-1)])); /* Qamax = th(76)-th(72)^2/th(70); */ Qamax = ((mccPR(th_P_)[(76-1)]) - (mcmRealPowerInt((mccPR(th_P_)[(72-1)]), 2) / (double) (mccPR(th_P_)[(70-1)]))); /* Qao = th(76)+(th(72)^2/th(70))*exp(-th(70)*th(40)/th(72))*(1-exp(th(70)*th(40)/th(72))); */ R0_ = exp((((-(mccPR(th_P_)[(70-1)])) * (double) (mccPR(th_P_)[(40-1)])) / (double) (mccPR(th_P_)[(72-1)]))); R1_ = exp((((mccPR(th_P_)[(70-1)]) * (double) (mccPR(th_P_)[(40-1)])) / (double) (mccPR(th_P_)[(72-1)]))); Qao = ((mccPR(th_P_)[(76-1)]) + (((mcmRealPowerInt((mccPR(th_P_)[(72-1)]), 2) / (double) (mccPR(th_P_)[(70-1)])) * (double) R0_) * (double) (1 - R1_))); /* dP = [dPl; ((qlo-qla)/(alphatau*(Qamax-Qao)*exp(-alphatau*P(2)))); (qa-qri)/th(4); dPr; ((qro-qpa)/th(7))+Pbreathe(3); ((qpa-qli)/th(8))+Pbreathe(3); (qla-qa)/th(73); (P(2)-P(7))/th(69)]; */ R1_ = exp(((-alphatau) * (double) (mccPR(P_P_)[(2-1)]))); mccCatenateRows(&RM0_, mccTempMatrix(dPl, 0., mccREAL, 0 ), mccTempMatrix(((qlo - qla) / (double) ((alphatau * (double) (Qamax - Qao)) * (double) R1_)), 0., mccREAL, 0 )); mccCatenateRows(&RM1_, &RM0_, mccTempMatrix(((qa - qri) / (double) (mccPR(th_P_)[(4-1)])), 0., mccREAL, 0 )); mccCatenateRows(&RM2_, &RM1_, mccTempMatrix(dPr, 0., mccREAL, 0 )); mccCatenateRows(&RM3_, &RM2_, mccTempMatrix((((qro - qpa) / (double) (mccPR(th_P_)[(7-1)])) + (mccPR(Pbreathe_P_)[(3-1)])), 0., mccREAL, 0 )); mccCatenateRows(&RM4_, &RM3_, mccTempMatrix((((qpa - qli) / (double) (mccPR(th_P_)[(8-1)])) + (mccPR(Pbreathe_P_)[(3-1)])), 0., mccREAL, 0 )); mccCatenateRows(&RM5_, &RM4_, mccTempMatrix(((qla - qa) / (double) (mccPR(th_P_)[(73-1)])), 0., mccREAL, 0 )); mccCatenateRows(&dP, &RM5_, mccTempMatrix((((mccPR(P_P_)[(2-1)]) - (mccPR(P_P_)[(7-1)])) / (double) (mccPR(th_P_)[(69-1)])), 0., mccREAL, 0 )); mccCopy(dP_PP_, &dP ); mccFreeMatrix(&dP); mccFreeMatrix(&RM0_); mccFreeMatrix(&RM1_); mccFreeMatrix(&RM2_); mccFreeMatrix(&RM3_); mccFreeMatrix(&RM4_); mccFreeMatrix(&RM5_); return; } /* R = apr_eval_deriv(RRRRR) */ /***************** Compiler Assumptions **************** * M-File: /data/rmukkama/cvsim/rcvsim/src/apr_eval_deriv.m * * B0_ boolean scalar temporary * El real scalar * Er real scalar * P real vector/matrix * Pbreathe real vector/matrix * Qc real vector/matrix * R0_ real scalar temporary * RM0_ real vector/matrix temporary * RM1_ real vector/matrix temporary * RM2_ real vector/matrix temporary * RM3_ real vector/matrix temporary * RM4_ real vector/matrix temporary * RM5_ real vector/matrix temporary * apr_eval_deriv_ * b real scalar * c real scalar * d real scalar * dEl real scalar * dEr real scalar * dP real vector/matrix * dPl real scalar * dPr real scalar * db real scalar * dc real scalar * dd real scalar * denb real scalar * dg real scalar * dx real scalar * dx0 real scalar * dy real scalar * exp * g real scalar * h1 real scalar * h2 real scalar * k integer scalar * mbrealscalar * pi * qa real scalar * qli real scalar * qlo real scalar * qpa real scalar * qri real scalar * qro real scalar * reallog * sumdeltaT real vector/matrix * th real vector/matrix * var_cap * vent_vol * x real scalar * x0 real scalar * y real scalar *******************************************************/ static void apr_eval_deriv_(mxArray *dP_PP_, mxArray *P_P_, mxArray *Qc_P_, mxArray *Pbreathe_P_, mxArray *th_P_, mxArray *sumdeltaT_P_ ) { mxArray dP; double qli = 0.0; double qlo = 0.0; double qa = 0.0; double qri = 0.0; double qro = 0.0; double h1 = 0.0; double h2 = 0.0; double qpa = 0.0; double El = 0.0; double dEl = 0.0; double Er = 0.0; double dEr = 0.0; double g = 0.0; double dPl = 0.0; double y = 0.0; double x = 0.0; double x0 = 0.0; int k = 0; double dx = 0.0; double dx0 = 0.0; double c = 0.0; double d = 0.0; double dc = 0.0; double dd = 0.0; double dg = 0.0; double denb = 0.0; double b = 0.0; double db = 0.0; double dy = 0.0; double dPr = 0.0; unsigned short B0_ = 0; double R0_ = 0.0; mxArray RM0_; mxArray RM1_; mxArray RM2_; mxArray RM3_; mxArray RM4_; mxArray RM5_; mccRealInit(dP); mccRealInit(RM0_); mccRealInit(RM1_); mccRealInit(RM2_); mccRealInit(RM3_); mccRealInit(RM4_); mccRealInit(RM5_); /* % Computing flow rates from the current pressure values. */ /* if (P(6) >= P(1)) */ if (( ((mccPR(P_P_)[(6-1)]) >= (mccPR(P_P_)[(1-1)])) && !mccREL_NAN((mccPR(P_P_)[(6-1)])) && !mccREL_NAN((mccPR(P_P_)[(1-1)])) )) { /* qli = (P(6)-P(1))/th(20); */ qli = (((mccPR(P_P_)[(6-1)]) - (mccPR(P_P_)[(1-1)])) / (double) (mccPR(th_P_)[(20-1)])); } else { /* else */ /* qli = 0; */ qli = 0; /* end */ } /* if (P(1) >= P(2)) */ if (( ((mccPR(P_P_)[(1-1)]) >= (mccPR(P_P_)[(2-1)])) && !mccREL_NAN((mccPR(P_P_)[(1-1)])) && !mccREL_NAN((mccPR(P_P_)[(2-1)])) )) { /* qlo = (P(1)-P(2))/th(15); */ qlo = (((mccPR(P_P_)[(1-1)]) - (mccPR(P_P_)[(2-1)])) / (double) (mccPR(th_P_)[(15-1)])); } else { /* else */ /* qlo = 0; */ qlo = 0; /* end */ } /* qa = (P(2)-P(3))/th(16); */ qa = (((mccPR(P_P_)[(2-1)]) - (mccPR(P_P_)[(3-1)])) / (double) (mccPR(th_P_)[(16-1)])); /* if (P(3) > P(4) & P(4) >= th(91)) */ B0_ = ( ((mccPR(P_P_)[(3-1)]) > (mccPR(P_P_)[(4-1)])) && !mccREL_NAN((mccPR(P_P_)[(3-1)])) && !mccREL_NAN((mccPR(P_P_)[(4-1)])) ); if ((double)B0_) { B0_ = ( ((mccPR(P_P_)[(4-1)]) >= (mccPR(th_P_)[(91-1)])) && !mccREL_NAN((mccPR(P_P_)[(4-1)])) && !mccREL_NAN((mccPR(th_P_)[(91-1)])) ); } if ((double)B0_) { /* qri = (P(3)-P(4))/th(17); */ qri = (((mccPR(P_P_)[(3-1)]) - (mccPR(P_P_)[(4-1)])) / (double) (mccPR(th_P_)[(17-1)])); } else { /* elseif (P(3) > th(91) & th(91) > P(4)) */ B0_ = ( ((mccPR(P_P_)[(3-1)]) > (mccPR(th_P_)[(91-1)])) && !mccREL_NAN((mccPR(P_P_)[(3-1)])) && !mccREL_NAN((mccPR(th_P_)[(91-1)])) ); if ((double)B0_) { B0_ = ( ((mccPR(th_P_)[(91-1)]) > (mccPR(P_P_)[(4-1)])) && !mccREL_NAN((mccPR(th_P_)[(91-1)])) && !mccREL_NAN((mccPR(P_P_)[(4-1)])) ); } if ((double)B0_) { /* qri = (P(3)-th(91))/th(17); */ qri = (((mccPR(P_P_)[(3-1)]) - (mccPR(th_P_)[(91-1)])) / (double) (mccPR(th_P_)[(17-1)])); } else { /* else */ /* qri = 0; */ qri = 0; /* end */ } } /* if (P(4) >= P(5)) */ if (( ((mccPR(P_P_)[(4-1)]) >= (mccPR(P_P_)[(5-1)])) && !mccREL_NAN((mccPR(P_P_)[(4-1)])) && !mccREL_NAN((mccPR(P_P_)[(5-1)])) )) { /* qro = (P(4)-P(5))/th(18); */ qro = (((mccPR(P_P_)[(4-1)]) - (mccPR(P_P_)[(5-1)])) / (double) (mccPR(th_P_)[(18-1)])); } else { /* else */ /* qro = 0; */ qro = 0; /* end */ } /* h1 = (1330/(1.06*980))*(P(6)-Pbreathe(4)); */ h1 = ((1330 / (double) (1.06 * (double) 980)) * (double) ((mccPR(P_P_)[(6-1)]) - (mccPR(Pbreathe_P_)[(4-1)]))); /* if (h1 < -10) */ if (( (h1 < -10) && !mccREL_NAN(h1) )) { /* h1 = -10; */ h1 = -10; } else { /* elseif (h1 > 20) */ if (( (h1 > 20) && !mccREL_NAN(h1) )) { /* h1 = 20; */ h1 = 20; /* end */ } } /* h2 = (1330/(1.06*980))*(P(5)-Pbreathe(4)); */ h2 = ((1330 / (double) (1.06 * (double) 980)) * (double) ((mccPR(P_P_)[(5-1)]) - (mccPR(Pbreathe_P_)[(4-1)]))); /* if (h2 < -10) */ if (( (h2 < -10) && !mccREL_NAN(h2) )) { /* h2 = -10; */ h2 = -10; } else { /* elseif (h2 > 20) */ if (( (h2 > 20) && !mccREL_NAN(h2) )) { /* h2 = 20; */ h2 = 20; /* end */ } } /* qpa = (((P(5)-P(6))/(30*th(19)))*(h1+10)) + (((P(5)-Pbreathe(4))/(30*th(19)))*(h2-h1)) - (((1.06*980)/(2660*(30*th(19))))*(h2^2-h1^2)); */ qpa = ((((((mccPR(P_P_)[(5-1)]) - (mccPR(P_P_)[(6-1)])) / (double) (30 * (double) (mccPR(th_P_)[(19-1)]))) * (double) (h1 + 10)) + ((((mccPR(P_P_)[(5-1)]) - (mccPR(Pbreathe_P_)[(4-1)])) / (double) (30 * (double) (mccPR(th_P_)[(19-1)]))) * (double) (h2 - h1))) - (((1.06 * (double) 980) / (double) (2660 * (double) (30 * (double) (mccPR(th_P_)[(19-1)])))) * (double) (mcmRealPowerInt(h2, 2) - mcmRealPowerInt(h1, 2)))); /* % Computing ventricular elastances. */ /* [El,dEl] = var_cap(th(1),th(2),th(24),sumdeltaT); */ var_cap_(&El,&dEl, (mccPR(th_P_)[(1-1)]), (mccPR(th_P_)[(2-1)]), (mccPR(th_P_)[(24-1)]), sumdeltaT_P_); /* [Er,dEr] = var_cap(th(5),th(6),th(24),sumdeltaT); */ var_cap_(&Er,&dEr, (mccPR(th_P_)[(5-1)]), (mccPR(th_P_)[(6-1)]), (mccPR(th_P_)[(24-1)]), sumdeltaT_P_); /* % Computing dP from the above calculations and th parameter vector. */ /* if (P(1) < Pbreathe(2)) */ if (( ((mccPR(P_P_)[(1-1)]) < (mccPR(Pbreathe_P_)[(2-1)])) && !mccREL_NAN((mccPR(P_P_)[(1-1)])) && !mccREL_NAN((mccPR(Pbreathe_P_)[(2-1)])) )) { /* g = ((P(1)-Pbreathe(2)))/(El*th(9)*(2/pi)); */ R0_ = mcmPi(); g = (((mccPR(P_P_)[(1-1)]) - (mccPR(Pbreathe_P_)[(2-1)])) / (double) ((El * (double) (mccPR(th_P_)[(9-1)])) * (double) (2 / (double) R0_))); /* dPl = El*(qli-qlo)*(1+g^2) + (P(1)-Pbreathe(2))*(dEl/El) + Pbreathe(3); */ dPl = ((((El * (double) (qli - qlo)) * (double) (1 + mcmRealPowerInt(g, 2))) + (((mccPR(P_P_)[(1-1)]) - (mccPR(Pbreathe_P_)[(2-1)])) * (double) (dEl / (double) El))) + (mccPR(Pbreathe_P_)[(3-1)])); } else { /* else */ /* y = (P(1)-Pbreathe(2))/th(31); */ y = (((mccPR(P_P_)[(1-1)]) - (mccPR(Pbreathe_P_)[(2-1)])) / (double) (mccPR(th_P_)[(31-1)])); /* x = vent_vol(Qc(1),y,El); */ vent_vol_(&x, (mccPR(Qc_P_)[(1-1)]), y, El); /* x0 = 1/(El+1); */ x0 = (1 / (double) (El + 1)); /* k = 50; */ k = 50; /* mbrealscalar(-k*(x-x0)); */ /* mbrealscalar(-k*(1-x0)); */ /* mbrealscalar(k*x0); */ /* dx = (qli-qlo)/(th(26)-th(9)); */ dx = ((qli - qlo) / (double) ((mccPR(th_P_)[(26-1)]) - (mccPR(th_P_)[(9-1)]))); /* dx0 = -dEl/((El+1)^2); */ dx0 = ((-dEl) / (double) mcmRealPowerInt((El + 1), 2)); /* c = 1+exp(-k*(1-x0)); */ R0_ = exp(((-k) * (double) (1 - x0))); c = (1 + R0_); /* d = 1+exp(k*x0); */ R0_ = exp((k * (double) x0)); d = (1 + R0_); /* g = 1+exp(-k*(x-x0)); */ R0_ = exp(((-k) * (double) (x - x0))); g = (1 + R0_); /* dc = k*dx0*exp(-k*(1-x0)); */ R0_ = exp(((-k) * (double) (1 - x0))); dc = ((k * (double) dx0) * (double) R0_); /* dd = k*dx0*exp(k*x0); */ R0_ = exp((k * (double) x0)); dd = ((k * (double) dx0) * (double) R0_); /* dg = -k*(dx-dx0)*exp(-k*(x-x0)); */ R0_ = exp(((-k) * (double) (x - x0))); dg = (((-k) * (double) (dx - dx0)) * (double) R0_); /* denb = (1+(1/k)*log(c/d)); */ R0_ = log((c / (double) d)); denb = (1 + ((1 / (double) k) * (double) R0_)); /* b = (1-El)/denb; */ b = ((1 - El) / (double) denb); /* db = (-dEl*denb - (1-El)*(1/k)*((d*dc-c*dd)/(c*d)))/(denb^2); */ db = ((((-dEl) * (double) denb) - (((1 - El) * (double) (1 / (double) k)) * (double) (((d * (double) dc) - (c * (double) dd)) / (double) (c * (double) d)))) / (double) mcmRealPowerInt(denb, 2)); /* dy = dEl*x + El*dx + db*(x+(1/k)*(log(g/d))) + b*(dx+(1/k)*((d*dg-g*dd)/(g*d))); */ R0_ = log((g / (double) d)); dy = ((((dEl * (double) x) + (El * (double) dx)) + (db * (double) (x + ((1 / (double) k) * (double) R0_)))) + (b * (double) (dx + ((1 / (double) k) * (double) (((d * (double) dg) - (g * (double) dd)) / (double) (g * (double) d)))))); /* dPl = th(31)*dy + Pbreathe(3); */ dPl = (((mccPR(th_P_)[(31-1)]) * (double) dy) + (mccPR(Pbreathe_P_)[(3-1)])); /* end */ } /* if (P(4) < Pbreathe(2)) */ if (( ((mccPR(P_P_)[(4-1)]) < (mccPR(Pbreathe_P_)[(2-1)])) && !mccREL_NAN((mccPR(P_P_)[(4-1)])) && !mccREL_NAN((mccPR(Pbreathe_P_)[(2-1)])) )) { /* g = ((P(4)-Pbreathe(2)))/(Er*th(12)*(2/pi)); */ R0_ = mcmPi(); g = (((mccPR(P_P_)[(4-1)]) - (mccPR(Pbreathe_P_)[(2-1)])) / (double) ((Er * (double) (mccPR(th_P_)[(12-1)])) * (double) (2 / (double) R0_))); /* dPr = Er*(qri-qro)*(1+g^2) + (P(4)-Pbreathe(2))*(dEr/Er) + Pbreathe(3); */ dPr = ((((Er * (double) (qri - qro)) * (double) (1 + mcmRealPowerInt(g, 2))) + (((mccPR(P_P_)[(4-1)]) - (mccPR(Pbreathe_P_)[(2-1)])) * (double) (dEr / (double) Er))) + (mccPR(Pbreathe_P_)[(3-1)])); } else { /* else */ /* y = (P(4)-Pbreathe(2))/th(32); */ y = (((mccPR(P_P_)[(4-1)]) - (mccPR(Pbreathe_P_)[(2-1)])) / (double) (mccPR(th_P_)[(32-1)])); /* x = vent_vol(Qc(2),y,Er); */ vent_vol_(&x, (mccPR(Qc_P_)[(2-1)]), y, Er); /* x0 = 1/(Er+1); */ x0 = (1 / (double) (Er + 1)); /* k = 50; */ k = 50; /* mbrealscalar(-k*(x-x0)); */ /* mbrealscalar(-k*(1-x0)); */ /* mbrealscalar(k*x0); */ /* dx = (qri-qro)/(th(27)-th(12)); */ dx = ((qri - qro) / (double) ((mccPR(th_P_)[(27-1)]) - (mccPR(th_P_)[(12-1)]))); /* dx0 = -dEr/((Er+1)^2); */ dx0 = ((-dEr) / (double) mcmRealPowerInt((Er + 1), 2)); /* c = 1+exp(-k*(1-x0)); */ R0_ = exp(((-k) * (double) (1 - x0))); c = (1 + R0_); /* d = 1+exp(k*x0); */ R0_ = exp((k * (double) x0)); d = (1 + R0_); /* g = 1+exp(-k*(x-x0)); */ R0_ = exp(((-k) * (double) (x - x0))); g = (1 + R0_); /* dc = k*dx0*exp(-k*(1-x0)); */ R0_ = exp(((-k) * (double) (1 - x0))); dc = ((k * (double) dx0) * (double) R0_); /* dd = k*dx0*exp(k*x0); */ R0_ = exp((k * (double) x0)); dd = ((k * (double) dx0) * (double) R0_); /* dg = -k*(dx-dx0)*exp(-k*(x-x0)); */ R0_ = exp(((-k) * (double) (x - x0))); dg = (((-k) * (double) (dx - dx0)) * (double) R0_); /* denb = (1+(1/k)*log(c/d)); */ R0_ = log((c / (double) d)); denb = (1 + ((1 / (double) k) * (double) R0_)); /* b = (1-Er)/denb; */ b = ((1 - Er) / (double) denb); /* db = (-dEr*denb - (1-Er)*(1/k)*((d*dc-c*dd)/(c*d)))/(denb^2); */ db = ((((-dEr) * (double) denb) - (((1 - Er) * (double) (1 / (double) k)) * (double) (((d * (double) dc) - (c * (double) dd)) / (double) (c * (double) d)))) / (double) mcmRealPowerInt(denb, 2)); /* dy = dEr*x + Er*dx + db*(x+(1/k)*(log(g/d))) + b*(dx+(1/k)*((d*dg-g*dd)/(g*d))); */ R0_ = log((g / (double) d)); dy = ((((dEr * (double) x) + (Er * (double) dx)) + (db * (double) (x + ((1 / (double) k) * (double) R0_)))) + (b * (double) (dx + ((1 / (double) k) * (double) (((d * (double) dg) - (g * (double) dd)) / (double) (g * (double) d)))))); /* dPr = th(32)*dy + Pbreathe(3); */ dPr = (((mccPR(th_P_)[(32-1)]) * (double) dy) + (mccPR(Pbreathe_P_)[(3-1)])); /* end */ } /* dP = [dPl; 0; (qa-qri)/th(4); dPr; ((qro-qpa)/th(7))+Pbreathe(3); ((qpa-qli)/th(8))+Pbreathe(3); 0; 0]; */ mccCatenateRows(&RM0_, mccTempMatrix(dPl, 0., mccREAL, 0 ), mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateRows(&RM1_, &RM0_, mccTempMatrix(((qa - qri) / (double) (mccPR(th_P_)[(4-1)])), 0., mccREAL, 0 )); mccCatenateRows(&RM2_, &RM1_, mccTempMatrix(dPr, 0., mccREAL, 0 )); mccCatenateRows(&RM3_, &RM2_, mccTempMatrix((((qro - qpa) / (double) (mccPR(th_P_)[(7-1)])) + (mccPR(Pbreathe_P_)[(3-1)])), 0., mccREAL, 0 )); mccCatenateRows(&RM4_, &RM3_, mccTempMatrix((((qpa - qli) / (double) (mccPR(th_P_)[(8-1)])) + (mccPR(Pbreathe_P_)[(3-1)])), 0., mccREAL, 0 )); mccCatenateRows(&RM5_, &RM4_, mccTempMatrix(0, 0., mccINT, 0 )); mccCatenateRows(&dP, &RM5_, mccTempMatrix(0, 0., mccINT, 0 )); mccCopy(dP_PP_, &dP ); mccFreeMatrix(&dP); mccFreeMatrix(&RM0_); mccFreeMatrix(&RM1_); mccFreeMatrix(&RM2_); mccFreeMatrix(&RM3_); mccFreeMatrix(&RM4_); mccFreeMatrix(&RM5_); return; } /* R = a_eval_deriv(RRRRR) */ /***************** Compiler Assumptions **************** * M-File: /data/rmukkama/cvsim/rcvsim/src/a_eval_deriv.m * * B0_ boolean scalar temporary * El real scalar * Ela real scalar * Er real scalar * Era real scalar * P real vector/matrix * Pbreathe real vector/matrix * Qc real vector/matrix * R0_ real scalar temporary * RM0_ real vector/matrix temporary * RM1_ real vector/matrix temporary * RM2_ real vector/matrix temporary * RM3_ real vector/matrix temporary * RM4_ real vector/matrix temporary * RM5_ real vector/matrix temporary * a_eval_deriv_ * b real scalar * c real scalar * d real scalar * dEl real scalar * dEla real scalar * dEr real scalar * dEra real scalar * dP real vector/matrix * dPl real scalar * dPla real scalar * dPr real scalar * dPra real scalar * db real scalar * dc real scalar * dd real scalar * denb real scalar * dg real scalar * dx real scalar * dx0 real scalar * dy real scalar * exp * g real scalar * h1 real scalar * h2 real scalar * k integer scalar * mbrealscalar * pi * qa real scalar * qla real scalar * qlv real scalar * qpa real scalar * qpv real scalar * qra real scalar * qrv real scalar * qv real scalar * reallog * sumdeltaT real vector/matrix * th real vector/matrix * var_acap * var_vcap * vent_vol * x real scalar * x0 real scalar * y real scalar *******************************************************/ static void a_eval_deriv_(mxArray *dP_PP_, mxArray *P_P_, mxArray *Qc_P_, mxArray *Pbreathe_P_, mxArray *th_P_, mxArray *sumdeltaT_P_ ) { mxArray dP; double qla = 0.0; double qlv = 0.0; double qa = 0.0; double qra = 0.0; double qv = 0.0; double qrv = 0.0; double h1 = 0.0; double h2 = 0.0; double qpa = 0.0; double qpv = 0.0; double El = 0.0; double dEl = 0.0; double Er = 0.0; double dEr = 0.0; double Ela = 0.0; double dEla = 0.0; double Era = 0.0; double dEra = 0.0; double g = 0.0; double dPl = 0.0; double y = 0.0; double x = 0.0; double x0 = 0.0; int k = 0; double dx = 0.0; double dx0 = 0.0; double c = 0.0; double d = 0.0; double dc = 0.0; double dd = 0.0; double dg = 0.0; double denb = 0.0; double b = 0.0; double db = 0.0; double dy = 0.0; double dPr = 0.0; double dPla = 0.0; double dPra = 0.0; unsigned short B0_ = 0; double R0_ = 0.0; mxArray RM0_; mxArray RM1_; mxArray RM2_; mxArray RM3_; mxArray RM4_; mxArray RM5_; mccRealInit(dP); mccRealInit(RM0_); mccRealInit(RM1_); mccRealInit(RM2_); mccRealInit(RM3_); mccRealInit(RM4_); mccRealInit(RM5_); /* % Computing flow rates from the current pressure values. */ /* if (P(8) >= P(1)) */ if (( ((mccPR(P_P_)[(8-1)]) >= (mccPR(P_P_)[(1-1)])) && !mccREL_NAN((mccPR(P_P_)[(8-1)])) && !mccREL_NAN((mccPR(P_P_)[(1-1)])) )) { /* qla = (P(8)-P(1))/th(83); */ qla = (((mccPR(P_P_)[(8-1)]) - (mccPR(P_P_)[(1-1)])) / (double) (mccPR(th_P_)[(83-1)])); } else { /* else */ /* qla = 0; */ qla = 0; /* end */ } /* if (P(1) >= P(2)) */ if (( ((mccPR(P_P_)[(1-1)]) >= (mccPR(P_P_)[(2-1)])) && !mccREL_NAN((mccPR(P_P_)[(1-1)])) && !mccREL_NAN((mccPR(P_P_)[(2-1)])) )) { /* qlv = (P(1)-P(2))/th(15); */ qlv = (((mccPR(P_P_)[(1-1)]) - (mccPR(P_P_)[(2-1)])) / (double) (mccPR(th_P_)[(15-1)])); } else { /* else */ /* qlv = 0; */ qlv = 0; /* end */ } /* qa = (P(2)-P(3))/th(16); */ qa = (((mccPR(P_P_)[(2-1)]) - (mccPR(P_P_)[(3-1)])) / (double) (mccPR(th_P_)[(16-1)])); /* if (P(7) >= P(4)) */ if (( ((mccPR(P_P_)[(7-1)]) >= (mccPR(P_P_)[(4-1)])) && !mccREL_NAN((mccPR(P_P_)[(7-1)])) && !mccREL_NAN((mccPR(P_P_)[(4-1)])) )) { /* qra = (P(7)-P(4))/th(87); */ qra = (((mccPR(P_P_)[(7-1)]) - (mccPR(P_P_)[(4-1)])) / (double) (mccPR(th_P_)[(87-1)])); } else { /* else */ /* qra = 0; */ qra = 0; /* end */ } /* if (P(3) >= 0 & P(7) >= th(91)) */ B0_ = ( ((mccPR(P_P_)[(3-1)]) >= 0) && !mccREL_NAN((mccPR(P_P_)[(3-1)])) ); if ((double)B0_) { B0_ = ( ((mccPR(P_P_)[(7-1)]) >= (mccPR(th_P_)[(91-1)])) && !mccREL_NAN((mccPR(P_P_)[(7-1)])) && !mccREL_NAN((mccPR(th_P_)[(91-1)])) ); } if ((double)B0_) { /* qv = (P(3)-P(7))/th(17); */ qv = (((mccPR(P_P_)[(3-1)]) - (mccPR(P_P_)[(7-1)])) / (double) (mccPR(th_P_)[(17-1)])); } else { /* elseif (P(3) > th(91) & th(91) > P(7)) */ B0_ = ( ((mccPR(P_P_)[(3-1)]) > (mccPR(th_P_)[(91-1)])) && !mccREL_NAN((mccPR(P_P_)[(3-1)])) && !mccREL_NAN((mccPR(th_P_)[(91-1)])) ); if ((double)B0_) { B0_ = ( ((mccPR(th_P_)[(91-1)]) > (mccPR(P_P_)[(7-1)])) && !mccREL_NAN((mccPR(th_P_)[(91-1)])) && !mccREL_NAN((mccPR(P_P_)[(7-1)])) ); } if ((double)B0_) { /* qv = (P(3)-th(91))/th(17); */ qv = (((mccPR(P_P_)[(3-1)]) - (mccPR(th_P_)[(91-1)])) / (double) (mccPR(th_P_)[(17-1)])); } else { /* elseif (P(7) > th(91) & th(91) > P(3)) */ B0_ = ( ((mccPR(P_P_)[(7-1)]) > (mccPR(th_P_)[(91-1)])) && !mccREL_NAN((mccPR(P_P_)[(7-1)])) && !mccREL_NAN((mccPR(th_P_)[(91-1)])) ); if ((double)B0_) { B0_ = ( ((mccPR(th_P_)[(91-1)]) > (mccPR(P_P_)[(3-1)])) && !mccREL_NAN((mccPR(th_P_)[(91-1)])) && !mccREL_NAN((mccPR(P_P_)[(3-1)])) ); } if ((double)B0_) { /* qv = (th(91)-P(7))/th(17); */ qv = (((mccPR(th_P_)[(91-1)]) - (mccPR(P_P_)[(7-1)])) / (double) (mccPR(th_P_)[(17-1)])); } else { /* else */ /* qv = 0; */ qv = 0; /* end */ } } } /* if (P(4) >= P(5)) */ if (( ((mccPR(P_P_)[(4-1)]) >= (mccPR(P_P_)[(5-1)])) && !mccREL_NAN((mccPR(P_P_)[(4-1)])) && !mccREL_NAN((mccPR(P_P_)[(5-1)])) )) { /* qrv = (P(4)-P(5))/th(18); */ qrv = (((mccPR(P_P_)[(4-1)]) - (mccPR(P_P_)[(5-1)])) / (double) (mccPR(th_P_)[(18-1)])); } else { /* else */ /* qrv = 0; */ qrv = 0; /* end */ } /* h1 = (1330/(1.06*980))*(P(6)-Pbreathe(4)); */ h1 = ((1330 / (double) (1.06 * (double) 980)) * (double) ((mccPR(P_P_)[(6-1)]) - (mccPR(Pbreathe_P_)[(4-1)]))); /* if (h1 < -10) */ if (( (h1 < -10) && !mccREL_NAN(h1) )) { /* h1 = -10; */ h1 = -10; } else { /* elseif (h1 > 20) */ if (( (h1 > 20) && !mccREL_NAN(h1) )) { /* h1 = 20; */ h1 = 20; /* end */ } } /* h2 = (1330/(1.06*980))*(P(5)-Pbreathe(4)); */ h2 = ((1330 / (double) (1.06 * (double) 980)) * (double) ((mccPR(P_P_)[(5-1)]) - (mccPR(Pbreathe_P_)[(4-1)]))); /* if (h2 < -10) */ if (( (h2 < -10) && !mccREL_NAN(h2) )) { /* h2 = -10; */ h2 = -10; } else { /* elseif (h2 > 20) */ if (( (h2 > 20) && !mccREL_NAN(h2) )) { /* h2 = 20; */ h2 = 20; /* end */ } } /* qpa = (((P(5)-P(6))/(30*th(19)))*(h1+10)) + (((P(5)-Pbreathe(4))/(30*th(19)))*(h2-h1)) - (((1.06*980)/(2660*(30*th(19))))*(h2^2-h1^2)); */ qpa = ((((((mccPR(P_P_)[(5-1)]) - (mccPR(P_P_)[(6-1)])) / (double) (30 * (double) (mccPR(th_P_)[(19-1)]))) * (double) (h1 + 10)) + ((((mccPR(P_P_)[(5-1)]) - (mccPR(Pbreathe_P_)[(4-1)])) / (double) (30 * (double) (mccPR(th_P_)[(19-1)]))) * (double) (h2 - h1))) - (((1.06 * (double) 980) / (double) (2660 * (double) (30 * (double) (mccPR(th_P_)[(19-1)])))) * (double) (mcmRealPowerInt(h2, 2) - mcmRealPowerInt(h1, 2)))); /* qpv = (P(6)-P(8))/th(20); */ qpv = (((mccPR(P_P_)[(6-1)]) - (mccPR(P_P_)[(8-1)])) / (double) (mccPR(th_P_)[(20-1)])); /* % Computing ventricular and atrial elastances. */ /* [El,dEl] = var_vcap(th(1),th(2),th(24),sumdeltaT); */ var_vcap_(&El,&dEl, (mccPR(th_P_)[(1-1)]), (mccPR(th_P_)[(2-1)]), (mccPR(th_P_)[(24-1)]), sumdeltaT_P_); /* [Er,dEr] = var_vcap(th(5),th(6),th(24),sumdeltaT); */ var_vcap_(&Er,&dEr, (mccPR(th_P_)[(5-1)]), (mccPR(th_P_)[(6-1)]), (mccPR(th_P_)[(24-1)]), sumdeltaT_P_); /* [Ela,dEla] = var_acap(th(80),th(81),th(24),sumdeltaT); */ var_acap_(&Ela,&dEla, (mccPR(th_P_)[(80-1)]), (mccPR(th_P_)[(81-1)]), (mccPR(th_P_)[(24-1)]), sumdeltaT_P_); /* [Era,dEra] = var_acap(th(84),th(85),th(24),sumdeltaT); */ var_acap_(&Era,&dEra, (mccPR(th_P_)[(84-1)]), (mccPR(th_P_)[(85-1)]), (mccPR(th_P_)[(24-1)]), sumdeltaT_P_); /* % Computing dP from the above calculations and th parameter vector. */ /* if (P(1) < Pbreathe(2)) */ if (( ((mccPR(P_P_)[(1-1)]) < (mccPR(Pbreathe_P_)[(2-1)])) && !mccREL_NAN((mccPR(P_P_)[(1-1)])) && !mccREL_NAN((mccPR(Pbreathe_P_)[(2-1)])) )) { /* g = ((P(1)-Pbreathe(2)))/(El*th(9)*(2/pi)); */ R0_ = mcmPi(); g = (((mccPR(P_P_)[(1-1)]) - (mccPR(Pbreathe_P_)[(2-1)])) / (double) ((El * (double) (mccPR(th_P_)[(9-1)])) * (double) (2 / (double) R0_))); /* dPl = El*(qla-qlv)*(1+g^2) + (P(1)-Pbreathe(2))*(dEl/El) + Pbreathe(3); */ dPl = ((((El * (double) (qla - qlv)) * (double) (1 + mcmRealPowerInt(g, 2))) + (((mccPR(P_P_)[(1-1)]) - (mccPR(Pbreathe_P_)[(2-1)])) * (double) (dEl / (double) El))) + (mccPR(Pbreathe_P_)[(3-1)])); } else { /* else */ /* y = (P(1)-Pbreathe(2))/th(31); */ y = (((mccPR(P_P_)[(1-1)]) - (mccPR(Pbreathe_P_)[(2-1)])) / (double) (mccPR(th_P_)[(31-1)])); /* x = vent_vol(Qc(1),y,El); */ vent_vol_(&x, (mccPR(Qc_P_)[(1-1)]), y, El); /* x0 = 1/(El+1); */ x0 = (1 / (double) (El + 1)); /* k = 50; */ k = 50; /* mbrealscalar(-k*(x-x0)); */ /* mbrealscalar(-k*(1-x0)); */ /* mbrealscalar(k*x0); */ /* dx = (qla-qlv)/(th(26)-th(9)); */ dx = ((qla - qlv) / (double) ((mccPR(th_P_)[(26-1)]) - (mccPR(th_P_)[(9-1)]))); /* dx0 = -dEl/((El+1)^2); */ dx0 = ((-dEl) / (double) mcmRealPowerInt((El + 1), 2)); /* c = 1+exp(-k*(1-x0)); */ R0_ = exp(((-k) * (double) (1 - x0))); c = (1 + R0_); /* d = 1+exp(k*x0); */ R0_ = exp((k * (double) x0)); d = (1 + R0_); /* g = 1+exp(-k*(x-x0)); */ R0_ = exp(((-k) * (double) (x - x0))); g = (1 + R0_); /* dc = k*dx0*exp(-k*(1-x0)); */ R0_ = exp(((-k) * (double) (1 - x0))); dc = ((k * (double) dx0) * (double) R0_); /* dd = k*dx0*exp(k*x0); */ R0_ = exp((k * (double) x0)); dd = ((k * (double) dx0) * (double) R0_); /* dg = -k*(dx-dx0)*exp(-k*(x-x0)); */ R0_ = exp(((-k) * (double) (x - x0))); dg = (((-k) * (double) (dx - dx0)) * (double) R0_); /* denb = (1+(1/k)*log(c/d)); */ R0_ = log((c / (double) d)); denb = (1 + ((1 / (double) k) * (double) R0_)); /* b = (1-El)/denb; */ b = ((1 - El) / (double) denb); /* db = (-dEl*denb - (1-El)*(1/k)*((d*dc-c*dd)/(c*d)))/(denb^2); */ db = ((((-dEl) * (double) denb) - (((1 - El) * (double) (1 / (double) k)) * (double) (((d * (double) dc) - (c * (double) dd)) / (double) (c * (double) d)))) / (double) mcmRealPowerInt(denb, 2)); /* dy = dEl*x + El*dx + db*(x+(1/k)*(log(g/d))) + b*(dx+(1/k)*((d*dg-g*dd)/(g*d))); */ R0_ = log((g / (double) d)); dy = ((((dEl * (double) x) + (El * (double) dx)) + (db * (double) (x + ((1 / (double) k) * (double) R0_)))) + (b * (double) (dx + ((1 / (double) k) * (double) (((d * (double) dg) - (g * (double) dd)) / (double) (g * (double) d)))))); /* dPl = th(31)*dy + Pbreathe(3); */ dPl = (((mccPR(th_P_)[(31-1)]) * (double) dy) + (mccPR(Pbreathe_P_)[(3-1)])); /* end */ } /* if (P(4) < Pbreathe(2)) */ if (( ((mccPR(P_P_)[(4-1)]) < (mccPR(Pbreathe_P_)[(2-1)])) && !mccREL_NAN((mccPR(P_P_)[(4-1)])) && !mccREL_NAN((mccPR(Pbreathe_P_)[(2-1)])) )) { /* g = ((P(4)-Pbreathe(2)))/(Er*th(12)*(2/pi)); */ R0_ = mcmPi(); g = (((mccPR(P_P_)[(4-1)]) - (mccPR(Pbreathe_P_)[(2-1)])) / (double) ((Er * (double) (mccPR(th_P_)[(12-1)])) * (double) (2 / (double) R0_))); /* dPr = Er*(qra-qrv)*(1+g^2) + (P(4)-Pbreathe(2))*(dEr/Er) + Pbreathe(3); */ dPr = ((((Er * (double) (qra - qrv)) * (double) (1 + mcmRealPowerInt(g, 2))) + (((mccPR(P_P_)[(4-1)]) - (mccPR(Pbreathe_P_)[(2-1)])) * (double) (dEr / (double) Er))) + (mccPR(Pbreathe_P_)[(3-1)])); } else { /* else */ /* y = (P(4)-Pbreathe(2))/th(32); */ y = (((mccPR(P_P_)[(4-1)]) - (mccPR(Pbreathe_P_)[(2-1)])) / (double) (mccPR(th_P_)[(32-1)])); /* x = vent_vol(Qc(2),y,Er); */ vent_vol_(&x, (mccPR(Qc_P_)[(2-1)]), y, Er); /* x0 = 1/(Er+1); */ x0 = (1 / (double) (Er + 1)); /* k = 50; */ k = 50; /* mbrealscalar(-k*(x-x0)); */ /* mbrealscalar(-k*(1-x0)); */ /* mbrealscalar(k*x0); */ /* dx = (qra-qrv)/(th(27)-th(12)); */ dx = ((qra - qrv) / (double) ((mccPR(th_P_)[(27-1)]) - (mccPR(th_P_)[(12-1)]))); /* dx0 = -dEr/((Er+1)^2); */ dx0 = ((-dEr) / (double) mcmRealPowerInt((Er + 1), 2)); /* c = 1+exp(-k*(1-x0)); */ R0_ = exp(((-k) * (double) (1 - x0))); c = (1 + R0_); /* d = 1+exp(k*x0); */ R0_ = exp((k * (double) x0)); d = (1 + R0_); /* g = 1+exp(-k*(x-x0)); */ R0_ = exp(((-k) * (double) (x - x0))); g = (1 + R0_); /* dc = k*dx0*exp(-k*(1-x0)); */ R0_ = exp(((-k) * (double) (1 - x0))); dc = ((k * (double) dx0) * (double) R0_); /* dd = k*dx0*exp(k*x0); */ R0_ = exp((k * (double) x0)); dd = ((k * (double) dx0) * (double) R0_); /* dg = -k*(dx-dx0)*exp(-k*(x-x0)); */ R0_ = exp(((-k) * (double) (x - x0))); dg = (((-k) * (double) (dx - dx0)) * (double) R0_); /* denb = (1+(1/k)*log(c/d)); */ R0_ = log((c / (double) d)); denb = (1 + ((1 / (double) k) * (double) R0_)); /* b = (1-Er)/denb; */ b = ((1 - Er) / (double) denb); /* db = (-dEr*denb - (1-Er)*(1/k)*((d*dc-c*dd)/(c*d)))/(denb^2); */ db = ((((-dEr) * (double) denb) - (((1 - Er) * (double) (1 / (double) k)) * (double) (((d * (double) dc) - (c * (double) dd)) / (double) (c * (double) d)))) / (double) mcmRealPowerInt(denb, 2)); /* dy = dEr*x + Er*dx + db*(x+(1/k)*(log(g/d))) + b*(dx+(1/k)*((d*dg-g*dd)/(g*d))); */ R0_ = log((g / (double) d)); dy = ((((dEr * (double) x) + (Er * (double) dx)) + (db * (double) (x + ((1 / (double) k) * (double) R0_)))) + (b * (double) (dx + ((1 / (double) k) * (double) (((d * (double) dg) - (g * (double) dd)) / (double) (g * (double) d)))))); /* dPr = th(32)*dy + Pbreathe(3); */ dPr = (((mccPR(th_P_)[(32-1)]) * (double) dy) + (mccPR(Pbreathe_P_)[(3-1)])); /* end */ } /* dPla = (Ela*(qpv-qla))+((dEla/Ela)*(P(8)-Pbreathe(2)))+Pbreathe(3); */ dPla = (((Ela * (double) (qpv - qla)) + ((dEla / (double) Ela) * (double) ((mccPR(P_P_)[(8-1)]) - (mccPR(Pbreathe_P_)[(2-1)])))) + (mccPR(Pbreathe_P_)[(3-1)])); /* dPra = (Era*(qv-qra))+((dEra/Era)*(P(7)-Pbreathe(2)))+Pbreathe(3); */ dPra = (((Era * (double) (qv - qra)) + ((dEra / (double) Era) * (double) ((mccPR(P_P_)[(7-1)]) - (mccPR(Pbreathe_P_)[(2-1)])))) + (mccPR(Pbreathe_P_)[(3-1)])); /* dP = [dPl; ((qlv-qa)/th(3)); (qa-qv)/th(4); dPr; ((qrv-qpa)/th(7))+Pbreathe(3); ((qpa-qpv)/th(8))+Pbreathe(3); dPra; dPla]; */ mccCatenateRows(&RM0_, mccTempMatrix(dPl, 0., mccREAL, 0 ), mccTempMatrix(((qlv - qa) / (double) (mccPR(th_P_)[(3-1)])), 0., mccREAL, 0 )); mccCatenateRows(&RM1_, &RM0_, mccTempMatrix(((qa - qv) / (double) (mccPR(th_P_)[(4-1)])), 0., mccREAL, 0 )); mccCatenateRows(&RM2_, &RM1_, mccTempMatrix(dPr, 0., mccREAL, 0 )); mccCatenateRows(&RM3_, &RM2_, mccTempMatrix((((qrv - qpa) / (double) (mccPR(th_P_)[(7-1)])) + (mccPR(Pbreathe_P_)[(3-1)])), 0., mccREAL, 0 )); mccCatenateRows(&RM4_, &RM3_, mccTempMatrix((((qpa - qpv) / (double) (mccPR(th_P_)[(8-1)])) + (mccPR(Pbreathe_P_)[(3-1)])), 0., mccREAL, 0 )); mccCatenateRows(&RM5_, &RM4_, mccTempMatrix(dPra, 0., mccREAL, 0 )); mccCatenateRows(&dP, &RM5_, mccTempMatrix(dPla, 0., mccREAL, 0 )); mccCopy(dP_PP_, &dP ); mccFreeMatrix(&dP); mccFreeMatrix(&RM0_); mccFreeMatrix(&RM1_); mccFreeMatrix(&RM2_); mccFreeMatrix(&RM3_); mccFreeMatrix(&RM4_); mccFreeMatrix(&RM5_); return; } /* [rr] = var_cap(rrrR) */ /***************** Compiler Assumptions **************** * M-File: /data/rmukkama/cvsim/rcvsim/src/var_cap.m * * Cd real scalar * Cs real scalar * E real scalar * R0_ real scalar temporary * R1_ real scalar temporary * R2_ real scalar temporary * Tir real scalar * Tp real scalar * Ts real scalar * cos * dE real scalar * mbrealscalar * pi * realsqrt * sin * sumdeltaT real vector/matrix * var_cap_ *******************************************************/ static void var_cap_(double *E_PP_, double *dE_PP_, double Cs, double Cd, double Tp, mxArray *sumdeltaT_P_ ) { double E = 0.0; double dE = 0.0; double Ts = 0.0; double Tir = 0.0; double R0_ = 0.0; double R1_ = 0.0; double R2_ = 0.0; /* % Making the ventricle a passive element, if Cd is less */ /* % than Cs. */ /* if (Cd <= Cs) */ if (( (Cd <= Cs) && !mccREL_NAN(Cd) && !mccREL_NAN(Cs) )) { /* E = 1/Cd; */ E = (1 / (double) Cd); /* dE = 0; */ dE = 0; } else { /* else */ /* % Assigning variables. */ /* Ts = .3*sqrt(Tp); */ R0_ = sqrt(Tp); Ts = (.3 * (double) R0_); /* Tir = Ts/2; */ Tir = (Ts / (double) 2); /* % Calculating values during isovolumic contraction phase. */ /* mbrealscalar(sumdeltaT < Ts); */ /* if (sumdeltaT < Ts) */ if (( (*mccPR(sumdeltaT_P_) < Ts) && !mccREL_NAN(*mccPR(sumdeltaT_P_)) && !mccREL_NAN(Ts) )) { /* E = (((1/Cs)-(1/Cd))/2) * (1-cos((pi/Ts)*sumdeltaT)) + (1/Cd); */ R0_ = mcmPi(); R1_ = cos(((R0_ / (double) Ts) * (double) *mccPR(sumdeltaT_P_))); E = (((((1 / (double) Cs) - (1 / (double) Cd)) / (double) 2) * (double) (1 - R1_)) + (1 / (double) Cd)); /* dE = (pi/Ts)*(((1/Cs)-(1/Cd))/2) * sin((pi/Ts)*sumdeltaT); */ R1_ = mcmPi(); R0_ = mcmPi(); R2_ = sin(((R0_ / (double) Ts) * (double) *mccPR(sumdeltaT_P_))); dE = (((R1_ / (double) Ts) * (double) (((1 / (double) Cs) - (1 / (double) Cd)) / (double) 2)) * (double) R2_); /* mbrealscalar(sumdeltaT >= Ts+Tir); */ /* % Setting values during diastolic filling phase. */ } else { /* elseif (sumdeltaT >= Ts+Tir) */ if (( (*mccPR(sumdeltaT_P_) >= (Ts + Tir)) && !mccREL_NAN(*mccPR(sumdeltaT_P_)) && !mccREL_NAN((Ts + Tir)) )) { /* E = 1/Cd; */ E = (1 / (double) Cd); /* dE = 0; */ dE = 0; /* % Calculating values during isovolumic relaxation phase. */ } else { /* else */ /* E = (((1/Cs)-(1/Cd))/2) * (1+cos((pi/Tir)*(sumdeltaT-Ts))) + (1/Cd); */ R2_ = mcmPi(); R0_ = cos(((R2_ / (double) Tir) * (double) (*mccPR(sumdeltaT_P_) - Ts))); E = (((((1 / (double) Cs) - (1 / (double) Cd)) / (double) 2) * (double) (1 + R0_)) + (1 / (double) Cd)); /* dE = -(pi/Tir)*(((1/Cs)-(1/Cd))/2) * sin((pi/Tir)*(sumdeltaT-Ts)); */ R0_ = mcmPi(); R2_ = mcmPi(); R1_ = sin(((R2_ / (double) Tir) * (double) (*mccPR(sumdeltaT_P_) - Ts))); dE = (((-(R0_ / (double) Tir)) * (double) (((1 / (double) Cs) - (1 / (double) Cd)) / (double) 2)) * (double) R1_); /* end */ } } /* end */ } *E_PP_ = E; *dE_PP_ = dE; return; } /* [rr] = var_vcap(rrrR) */ /***************** Compiler Assumptions **************** * M-File: /data/rmukkama/cvsim/rcvsim/src/var_vcap.m * * Cd real scalar * Cs real scalar * E real scalar * R0_ real scalar temporary * R1_ real scalar temporary * R2_ real scalar temporary * Tinit real scalar * Tir real scalar * Tp real scalar * Ts real scalar * cos * dE real scalar * mbintscalar * pi * realsqrt * sin * sumdeltaT real vector/matrix * var_vcap_ * x boolean scalar * y boolean scalar * z boolean scalar *******************************************************/ static void var_vcap_(double *E_PP_, double *dE_PP_, double Cs, double Cd, double Tp, mxArray *sumdeltaT_P_ ) { double E = 0.0; double dE = 0.0; double Tinit = 0.0; double Ts = 0.0; double Tir = 0.0; unsigned short x = 0; unsigned short y = 0; unsigned short z = 0; double R0_ = 0.0; double R1_ = 0.0; double R2_ = 0.0; /* % Making the ventricle a passive element, if Cd is less */ /* % than Cs. */ /* if (Cd <= Cs) */ if (( (Cd <= Cs) && !mccREL_NAN(Cd) && !mccREL_NAN(Cs) )) { /* E = 1/Cd; */ E = (1 / (double) Cd); /* dE = 0; */ dE = 0; } else { /* else */ /* % Assigning variables. */ /* Tinit = 0.125*sqrt(Tp); */ R0_ = sqrt(Tp); Tinit = (0.125 * (double) R0_); /* Ts = .3*sqrt(Tp); */ R0_ = sqrt(Tp); Ts = (.3 * (double) R0_); /* Tir = Ts/2; */ Tir = (Ts / (double) 2); /* x = (sumdeltaT < Tinit); */ x = ( (*mccPR(sumdeltaT_P_) < Tinit) && !mccREL_NAN(*mccPR(sumdeltaT_P_)) && !mccREL_NAN(Tinit) ); /* y = (sumdeltaT < Tinit+Ts); */ y = ( (*mccPR(sumdeltaT_P_) < (Tinit + Ts)) && !mccREL_NAN(*mccPR(sumdeltaT_P_)) && !mccREL_NAN((Tinit + Ts)) ); /* z = (sumdeltaT < Tinit+Ts+Tir); */ z = ( (*mccPR(sumdeltaT_P_) < ((Tinit + Ts) + Tir)) && !mccREL_NAN(*mccPR(sumdeltaT_P_)) && !mccREL_NAN(((Tinit + Ts) + Tir)) ); /* mbintscalar(x); */ /* mbintscalar(y); */ /* mbintscalar(z); */ /* % Setting values during diastolic filling phase. */ /* if (x) */ if ((double)x) { /* E = 1/Cd; */ E = (1 / (double) Cd); /* dE = 0; */ dE = 0; /* % Calculating values during isovolumic contraction phase. */ } else { /* elseif (y) */ if ((double)y) { /* E = (((1/Cs)-(1/Cd))/2) * (1-cos((pi/Ts)*(sumdeltaT-Tinit))) + (1/Cd); */ R0_ = mcmPi(); R1_ = cos(((R0_ / (double) Ts) * (double) (*mccPR(sumdeltaT_P_) - Tinit))); E = (((((1 / (double) Cs) - (1 / (double) Cd)) / (double) 2) * (double) (1 - R1_)) + (1 / (double) Cd)); /* dE = (pi/Ts)*(((1/Cs)-(1/Cd))/2) * sin((pi/Ts)*(sumdeltaT-Tinit)); */ R1_ = mcmPi(); R0_ = mcmPi(); R2_ = sin(((R0_ / (double) Ts) * (double) (*mccPR(sumdeltaT_P_) - Tinit))); dE = (((R1_ / (double) Ts) * (double) (((1 / (double) Cs) - (1 / (double) Cd)) / (double) 2)) * (double) R2_); /* % Calculating values during isovolumic relaxation phase. */ } else { /* elseif (z) */ if ((double)z) { /* E = (((1/Cs)-(1/Cd))/2) * (1+cos((pi/Tir)*(sumdeltaT-Ts-Tinit))) + (1/Cd); */ R2_ = mcmPi(); R0_ = cos(((R2_ / (double) Tir) * (double) ((*mccPR(sumdeltaT_P_) - Ts) - Tinit))); E = (((((1 / (double) Cs) - (1 / (double) Cd)) / (double) 2) * (double) (1 + R0_)) + (1 / (double) Cd)); /* dE = -(pi/Tir)*(((1/Cs)-(1/Cd))/2) * sin((pi/Tir)*(sumdeltaT-Ts-Tinit)); */ R0_ = mcmPi(); R2_ = mcmPi(); R1_ = sin(((R2_ / (double) Tir) * (double) ((*mccPR(sumdeltaT_P_) - Ts) - Tinit))); dE = (((-(R0_ / (double) Tir)) * (double) (((1 / (double) Cs) - (1 / (double) Cd)) / (double) 2)) * (double) R1_); /* % Setting values during diastolic filling phase. */ } else { /* else */ /* E = 1/Cd; */ E = (1 / (double) Cd); /* dE = 0; */ dE = 0; /* end */ } } } /* end */ } *E_PP_ = E; *dE_PP_ = dE; return; } /* [rr] = var_acap(rrrR) */ /***************** Compiler Assumptions **************** * M-File: /data/rmukkama/cvsim/rcvsim/src/var_acap.m * * Cd real scalar * Cs real scalar * E real scalar * R0_ real scalar temporary * R1_ real scalar temporary * R2_ real scalar temporary * Tir real scalar * Tp real scalar * Ts real scalar * cos * dE real scalar * mbrealscalar * pi * realsqrt * sin * sumdeltaT real vector/matrix * var_acap_ *******************************************************/ static void var_acap_(double *E_PP_, double *dE_PP_, double Cs, double Cd, double Tp, mxArray *sumdeltaT_P_ ) { double E = 0.0; double dE = 0.0; double Ts = 0.0; double Tir = 0.0; double R0_ = 0.0; double R1_ = 0.0; double R2_ = 0.0; /* % Making the atrium a passive element, if Cd is less */ /* % than Cs. */ /* if (Cd <= Cs) */ if (( (Cd <= Cs) && !mccREL_NAN(Cd) && !mccREL_NAN(Cs) )) { /* E = 1/Cd; */ E = (1 / (double) Cd); /* dE = 0; */ dE = 0; } else { /* else */ /* % Assigning variables. */ /* Ts = 0.15*sqrt(Tp); */ R0_ = sqrt(Tp); Ts = (0.15 * (double) R0_); /* Tir = Ts/2; */ Tir = (Ts / (double) 2); /* % Calculating values during isovolumic contraction phase. */ /* mbrealscalar(sumdeltaT < Ts); */ /* if (sumdeltaT < Ts) */ if (( (*mccPR(sumdeltaT_P_) < Ts) && !mccREL_NAN(*mccPR(sumdeltaT_P_)) && !mccREL_NAN(Ts) )) { /* E = (((1/Cs)-(1/Cd))/2) * (1-cos((pi/Ts)*sumdeltaT)) + (1/Cd); */ R0_ = mcmPi(); R1_ = cos(((R0_ / (double) Ts) * (double) *mccPR(sumdeltaT_P_))); E = (((((1 / (double) Cs) - (1 / (double) Cd)) / (double) 2) * (double) (1 - R1_)) + (1 / (double) Cd)); /* dE = (pi/Ts)*(((1/Cs)-(1/Cd))/2) * sin((pi/Ts)*sumdeltaT); */ R1_ = mcmPi(); R0_ = mcmPi(); R2_ = sin(((R0_ / (double) Ts) * (double) *mccPR(sumdeltaT_P_))); dE = (((R1_ / (double) Ts) * (double) (((1 / (double) Cs) - (1 / (double) Cd)) / (double) 2)) * (double) R2_); /* % Setting values during diastolic filling phase. */ /* mbrealscalar(sumdeltaT >= Ts+Tir); */ } else { /* elseif (sumdeltaT >= Ts+Tir) */ if (( (*mccPR(sumdeltaT_P_) >= (Ts + Tir)) && !mccREL_NAN(*mccPR(sumdeltaT_P_)) && !mccREL_NAN((Ts + Tir)) )) { /* E = 1/Cd; */ E = (1 / (double) Cd); /* dE = 0; */ dE = 0; /* % Calculating values during isovolumic relaxation phase. */ } else { /* else */ /* E = (((1/Cs)-(1/Cd))/2) * (1+cos((pi/Tir)*(sumdeltaT-Ts))) + (1/Cd); */ R2_ = mcmPi(); R0_ = cos(((R2_ / (double) Tir) * (double) (*mccPR(sumdeltaT_P_) - Ts))); E = (((((1 / (double) Cs) - (1 / (double) Cd)) / (double) 2) * (double) (1 + R0_)) + (1 / (double) Cd)); /* dE = -(pi/Tir)*(((1/Cs)-(1/Cd))/2) * sin((pi/Tir)*(sumdeltaT-Ts)); */ R0_ = mcmPi(); R2_ = mcmPi(); R1_ = sin(((R2_ / (double) Tir) * (double) (*mccPR(sumdeltaT_P_) - Ts))); dE = (((-(R0_ / (double) Tir)) * (double) (((1 / (double) Cs) - (1 / (double) Cd)) / (double) 2)) * (double) R1_); /* end */ } } /* end */ } *E_PP_ = E; *dE_PP_ = dE; return; } /* r = vent_vol(rrr) */ /***************** Compiler Assumptions **************** * M-File: /data/rmukkama/cvsim/rcvsim/src/vent_vol.m * * Ev real scalar * R0_ real scalar temporary * R1_ real scalar temporary * R2_ real scalar temporary * R3_ real scalar temporary * R4_ real scalar temporary * R5_ real scalar temporary * TOL real scalar * abs * df real scalar * error * exp * f real scalar * k integer scalar * mbintscalar * q integer scalar * reallog * vent_vol_ * x real scalar * xi real scalar * xn real scalar * yv real scalar * zz boolean scalar *******************************************************/ static void vent_vol_(double *x_PP_, double xi, double yv, double Ev ) { double x = 0.0; double TOL = 0.0; int k = 0; double f = 0.0; double df = 0.0; double xn = 0.0; int q = 0; unsigned short zz = 0; double R0_ = 0.0; double R1_ = 0.0; double R2_ = 0.0; double R3_ = 0.0; double R4_ = 0.0; double R5_ = 0.0; /* % Assigning variables. */ /* TOL = 10e-6; */ TOL = 10e-6; /* k = 50; */ k = 50; /* % Assigning initial guess. */ /* x = xi; */ x = xi; /* % Calculating normalized ventricular pressure-volume function */ /* % and its derivative at the initial guess. */ /* f = Ev*x + (1-Ev)/(1+(1/k)*(log((1+exp(-k*(1-(1/(Ev+1)))))/(1+exp(k*(1/(Ev+1)))))))*(x+(1/k)*(log((1+exp(-k*(x-(1/(Ev+1)))))/(1+exp(k*(1/(Ev+1))))))) - yv; */ R0_ = exp(((-k) * (double) (1 - (1 / (double) (Ev + 1))))); R1_ = exp((k * (double) (1 / (double) (Ev + 1)))); R2_ = log(((1 + R0_) / (double) (1 + R1_))); R3_ = exp(((-k) * (double) (x - (1 / (double) (Ev + 1))))); R4_ = exp((k * (double) (1 / (double) (Ev + 1)))); R5_ = log(((1 + R3_) / (double) (1 + R4_))); f = (((Ev * (double) x) + (((1 - Ev) / (double) (1 + ((1 / (double) k) * (double) R2_))) * (double) (x + ((1 / (double) k) * (double) R5_)))) - yv); /* df = Ev + (1-Ev)/(1+(1/k)*(log((1+exp(-k*(1-(1/(Ev+1)))))/(1+exp(k*(1/(Ev+1)))))))*(1-(exp(-k*(x-(1/(Ev+1))))/(1+exp(-k*(x-(1/(Ev+1))))))); */ R5_ = exp(((-k) * (double) (1 - (1 / (double) (Ev + 1))))); R4_ = exp((k * (double) (1 / (double) (Ev + 1)))); R3_ = log(((1 + R5_) / (double) (1 + R4_))); R2_ = exp(((-k) * (double) (x - (1 / (double) (Ev + 1))))); R1_ = exp(((-k) * (double) (x - (1 / (double) (Ev + 1))))); df = (Ev + (((1 - Ev) / (double) (1 + ((1 / (double) k) * (double) R3_))) * (double) (1 - (R2_ / (double) (1 + R1_))))); /* % Calculating next normalized volume based on this function */ /* % and its derivative via a single Newton's step. */ /* xn = x - (f/df); */ xn = (x - (f / (double) df)); /* % Repeating Newton's iteration until convergence of normalized */ /* % volume is achieved. */ /* q = 0; */ q = 0; /* zz = ((abs(xn-x) > TOL)); */ zz = ( (fabs((xn - x)) > TOL) && !mccREL_NAN(fabs((xn - x))) && !mccREL_NAN(TOL) ); /* mbintscalar(zz) */ /* while (zz) */ while (1) { if (!((double)zz)) break; /* x = xn; */ x = xn; /* f = Ev*x + (1-Ev)/(1+(1/k)*(log((1+exp(-k*(1-(1/(Ev+1)))))/(1+exp(k*(1/(Ev+1)))))))*(x+(1/k)*(log((1+exp(-k*(x-(1/(Ev+1)))))/(1+exp(k*(1/(Ev+1))))))) - yv; */ R1_ = exp(((-k) * (double) (1 - (1 / (double) (Ev + 1))))); R2_ = exp((k * (double) (1 / (double) (Ev + 1)))); R3_ = log(((1 + R1_) / (double) (1 + R2_))); R4_ = exp(((-k) * (double) (x - (1 / (double) (Ev + 1))))); R5_ = exp((k * (double) (1 / (double) (Ev + 1)))); R0_ = log(((1 + R4_) / (double) (1 + R5_))); f = (((Ev * (double) x) + (((1 - Ev) / (double) (1 + ((1 / (double) k) * (double) R3_))) * (double) (x + ((1 / (double) k) * (double) R0_)))) - yv); /* df = Ev + (1-Ev)/(1+(1/k)*(log((1+exp(-k*(1-(1/(Ev+1)))))/(1+exp(k*(1/(Ev+1)))))))*(1-(exp(-k*(x-(1/(Ev+1))))/(1+exp(-k*(x-(1/(Ev+1))))))); */ R0_ = exp(((-k) * (double) (1 - (1 / (double) (Ev + 1))))); R5_ = exp((k * (double) (1 / (double) (Ev + 1)))); R4_ = log(((1 + R0_) / (double) (1 + R5_))); R3_ = exp(((-k) * (double) (x - (1 / (double) (Ev + 1))))); R2_ = exp(((-k) * (double) (x - (1 / (double) (Ev + 1))))); df = (Ev + (((1 - Ev) / (double) (1 + ((1 / (double) k) * (double) R4_))) * (double) (1 - (R3_ / (double) (1 + R2_))))); /* xn = x - (f/df); */ xn = (x - (f / (double) df)); /* zz = ((abs(xn-x) > TOL)); */ zz = ( (fabs((xn - x)) > TOL) && !mccREL_NAN(fabs((xn - x))) && !mccREL_NAN(TOL) ); /* mbintscalar(zz); */ /* end */ } /* x = xn; */ x = xn; /* % Exiting program with error if normalized volume is */ /* % less than zero or greater than one. */ /* zz = (x < -TOL | x > (1+TOL)); */ zz = (!!( (x < (-TOL)) && !mccREL_NAN(x) && !mccREL_NAN((-TOL)) ) || !!( (x > (1 + TOL)) && !mccREL_NAN(x) && !mccREL_NAN((1 + TOL)) )); /* mbintscalar(zz); */ /* if (zz) */ if ((double)zz) { /* error('No root is found'); */ mccError(&S275_); /* end */ } *x_PP_ = x; return; } /* R = resp_act(RIrrr) */ /***************** Compiler Assumptions **************** * M-File: /data/rmukkama/cvsim/rcvsim/src/resp_act.m * * B0_ boolean scalar temporary * I0_ integer scalar temporary * I1_ integer scalar temporary * I2_ integer scalar temporary * I3_ integer scalar temporary * IM0_ integer vector/matrix temporary * IM1_ integer vector/matrix temporary * Q real vector/matrix * Qtr real scalar * R0_ real scalar temporary * R1_ real scalar temporary * R2_ real scalar temporary * R3_ real scalar temporary * R4_ real scalar temporary * R5_ real scalar temporary * R6_ real scalar temporary * R7_ real scalar temporary * R8_ real scalar temporary * R9_ real scalar temporary * RM0_ real vector/matrix temporary * RM10_ real vector/matrix temporary * RM11_ real vector/matrix temporary * RM12_ real vector/matrix temporary * RM13_ real vector/matrix temporary * RM14_ real vector/matrix temporary * RM15_ real vector/matrix temporary * RM1_ real vector/matrix temporary * RM2_ real vector/matrix temporary * RM3_ real vector/matrix temporary * RM4_ real vector/matrix temporary * RM5_ real vector/matrix temporary * RM6_ real vector/matrix temporary * RM7_ real vector/matrix temporary * RM8_ real vector/matrix temporary * RM9_ real vector/matrix temporary * abs * at integer vector/matrix * cos * counting integer scalar * d2Q real vector/matrix * d2Q1 real vector/matrix * d2Q2 real vector/matrix * dQ real vector/matrix * dQ1 real vector/matrix * dQ2 real vector/matrix * deltaT real scalar * end * endm integer scalar * etime real scalar * exp * flag integer scalar * length * m integer scalar * mbrealscalar * meanavr real scalar * ones * period integer scalar * pi * resp_act__2 * sigmailv integer scalar * sin * startm integer scalar * stime real scalar * tau real scalar * th real vector/matrix * thbreathe real vector/matrix * time real vector/matrix * time1 real vector/matrix * time2 real vector/matrix * zeros *******************************************************/ static void resp_act__2(mxArray *thbreathe_PP_, mxArray *th_P_, mxArray *at_P_, double deltaT, double stime, double etime ) { mxArray *Mplhs_[1]; mxArray rhs_[3]; mxArray at; mxArray thbreathe; mxArray time; double tau = 0.0; int sigmailv = 0; mxArray time1; mxArray time2; mxArray Q; mxArray dQ; mxArray d2Q1; mxArray d2Q2; mxArray d2Q; mxArray dQ1; mxArray dQ2; int flag = 0; int startm = 0; int m = 0; int endm = 0; int counting = 0; int period = 0; double meanavr = 0.0; double Qtr = 0.0; int I0_ = 0; unsigned short B0_ = 0; double R0_ = 0.0; mxArray IM0_; mxArray RM0_; mxArray RM1_; double R1_ = 0.0; mxArray RM2_; mxArray RM3_; double R2_ = 0.0; mxArray RM4_; mxArray RM5_; mxArray RM6_; mxArray RM7_; double R3_ = 0.0; mxArray RM8_; mxArray RM9_; mxArray RM10_; mxArray RM11_; double R4_ = 0.0; mxArray RM12_; mxArray RM13_; mxArray RM14_; mxArray RM15_; mxArray IM1_; double R5_ = 0.0; double R6_ = 0.0; double R7_ = 0.0; double R8_ = 0.0; double R9_ = 0.0; int I1_ = 0; int I2_ = 0; int I3_ = 0; mccIntInit( at ); mccCopy(&at, at_P_); mccRealInit(thbreathe); mccRealInit(time); mccRealInit(time1); mccRealInit(time2); mccRealInit(Q); mccRealInit(dQ); mccRealInit(d2Q1); mccRealInit(d2Q2); mccRealInit(d2Q); mccRealInit(dQ1); mccRealInit(dQ2); mccIntInit(IM0_); mccRealInit(RM0_); mccRealInit(RM1_); mccRealInit(RM2_); mccRealInit(RM3_); mccRealInit(RM4_); mccRealInit(RM5_); mccRealInit(RM6_); mccRealInit(RM7_); mccRealInit(RM8_); mccRealInit(RM9_); mccRealInit(RM10_); mccRealInit(RM11_); mccRealInit(RM12_); mccRealInit(RM13_); mccRealInit(RM14_); mccRealInit(RM15_); mccIntInit(IM1_); /* % Establishing times in which the respiratory-related waveforms */ /* % are to be computed. */ /* time = stime:deltaT:etime; */ mccColon(&time, stime, deltaT, etime); /* % Pre-allocating memory for the function outputs. */ /* thbreathe = zeros(4,length(time)); */ I0_ = mccGetLength(&time); mccZerosMN(&thbreathe, 4, I0_); /* % No breathing. */ /* if (length(at) == 1) */ I0_ = mccGetLength(&at); B0_ = (I0_ == 1); if ((double)B0_) { /* % Setting respiratory-related waveforms to their functional */ /* % reserve values. */ /* thbreathe(1,:) = th(98)*ones(1,length(time)); */ R0_ = (mccPR(th_P_)[(98-1)]); I0_ = mccGetLength(&time); mccOnesMN(&IM0_, 1, I0_); { int i_, j_; int m_=1, n_=1, cx_ = 0; double *p_thbreathe; int I_thbreathe=1, J_thbreathe; int *p_IM0_; int I_IM0_=1; m_ = mcmCalcResultSize(m_, &n_, mccM(&IM0_), mccN(&IM0_)); if (!mccNOTSET(&thbreathe)) m_ = mcmCalcResultSize(m_, &n_, 1, mccN(&thbreathe)); if (mccN(&thbreathe) == 1) { I_thbreathe = J_thbreathe = 0;} else { I_thbreathe = 1; J_thbreathe=mccM(&thbreathe)-m_; } p_thbreathe = mccPR(&thbreathe) + (1-1) + mccM(&thbreathe) * 0; I_IM0_ = (mccM(&IM0_) != 1 || mccN(&IM0_) != 1); p_IM0_ = mccIPR(&IM0_); if (m_ != 0) { for (j_=0; j_ * at real vector/matrix * cos * counting integer scalar * d2Q real vector/matrix * d2Q1 real vector/matrix * d2Q2 real vector/matrix * dQ real vector/matrix * dQ1 real vector/matrix * dQ2 real vector/matrix * deltaT real scalar * end * endm integer scalar * etime real scalar * exp * flag real scalar * length * m integer scalar * mbrealscalar * meanavr real scalar * ones * period real scalar * pi * resp_act__3 * sigmailv real scalar * sin * startm integer scalar * stime real scalar * tau real scalar * th real vector/matrix * thbreathe real vector/matrix * time real vector/matrix * time1 real vector/matrix * time2 real vector/matrix * zeros *******************************************************/ static void resp_act__3(mxArray *thbreathe_PP_, mxArray *th_P_, mxArray *at_P_, double deltaT, double stime, double etime ) { mxArray *Mplhs_[1]; mxArray rhs_[3]; mxArray at; mxArray thbreathe; mxArray time; double tau = 0.0; double sigmailv = 0.0; mxArray time1; mxArray time2; mxArray Q; mxArray dQ; mxArray d2Q1; mxArray d2Q2; mxArray d2Q; mxArray dQ1; mxArray dQ2; double flag = 0.0; int startm = 0; int m = 0; int endm = 0; int counting = 0; double period = 0.0; double meanavr = 0.0; double Qtr = 0.0; int I0_ = 0; unsigned short B0_ = 0; double R0_ = 0.0; mxArray IM0_; mxArray RM0_; mxArray RM1_; double R1_ = 0.0; mxArray RM2_; mxArray RM3_; double R2_ = 0.0; mxArray RM4_; mxArray RM5_; mxArray RM6_; mxArray RM7_; double R3_ = 0.0; mxArray RM8_; mxArray RM9_; mxArray RM10_; mxArray RM11_; double R4_ = 0.0; mxArray RM12_; mxArray RM13_; mxArray RM14_; mxArray RM15_; double R5_ = 0.0; double R6_ = 0.0; double R7_ = 0.0; double R8_ = 0.0; double R9_ = 0.0; int I1_ = 0; int I2_ = 0; mccRealInit(at); mccCopy(&at, at_P_); mccRealInit(thbreathe); mccRealInit(time); mccRealInit(time1); mccRealInit(time2); mccRealInit(Q); mccRealInit(dQ); mccRealInit(d2Q1); mccRealInit(d2Q2); mccRealInit(d2Q); mccRealInit(dQ1); mccRealInit(dQ2); mccIntInit(IM0_); mccRealInit(RM0_); mccRealInit(RM1_); mccRealInit(RM2_); mccRealInit(RM3_); mccRealInit(RM4_); mccRealInit(RM5_); mccRealInit(RM6_); mccRealInit(RM7_); mccRealInit(RM8_); mccRealInit(RM9_); mccRealInit(RM10_); mccRealInit(RM11_); mccRealInit(RM12_); mccRealInit(RM13_); mccRealInit(RM14_); mccRealInit(RM15_); /* % Establishing times in which the respiratory-related waveforms */ /* % are to be computed. */ /* time = stime:deltaT:etime; */ mccColon(&time, stime, deltaT, etime); /* % Pre-allocating memory for the function outputs. */ /* thbreathe = zeros(4,length(time)); */ I0_ = mccGetLength(&time); mccZerosMN(&thbreathe, 4, I0_); /* % No breathing. */ /* if (length(at) == 1) */ I0_ = mccGetLength(&at); B0_ = (I0_ == 1); if ((double)B0_) { /* % Setting respiratory-related waveforms to their functional */ /* % reserve values. */ /* thbreathe(1,:) = th(98)*ones(1,length(time)); */ R0_ = (mccPR(th_P_)[(98-1)]); I0_ = mccGetLength(&time); mccOnesMN(&IM0_, 1, I0_); { int i_, j_; int m_=1, n_=1, cx_ = 0; double *p_thbreathe; int I_thbreathe=1, J_thbreathe; int *p_IM0_; int I_IM0_=1; m_ = mcmCalcResultSize(m_, &n_, mccM(&IM0_), mccN(&IM0_)); if (!mccNOTSET(&thbreathe)) m_ = mcmCalcResultSize(m_, &n_, 1, mccN(&thbreathe)); if (mccN(&thbreathe) == 1) { I_thbreathe = J_thbreathe = 0;} else { I_thbreathe = 1; J_thbreathe=mccM(&thbreathe)-m_; } p_thbreathe = mccPR(&thbreathe) + (1-1) + mccM(&thbreathe) * 0; I_IM0_ = (mccM(&IM0_) != 1 || mccN(&IM0_) != 1); p_IM0_ = mccIPR(&IM0_); if (m_ != 0) { for (j_=0; j_ * at real vector/matrix * cos * counting integer scalar * d2Q real vector/matrix * d2Q1 real vector/matrix * d2Q2 real vector/matrix * dQ real vector/matrix * dQ1 real vector/matrix * dQ2 real vector/matrix * deltaT real scalar * end * endm integer scalar * etime real scalar * exp * flag real scalar * length * m integer scalar * mbrealscalar * meanavr real scalar * ones * period real scalar * pi * resp_act_ * sigmailv real scalar * sin * startm integer scalar * stime integer scalar * tau real scalar * th real vector/matrix * thbreathe real vector/matrix * time real vector/matrix * time1 real vector/matrix * time2 real vector/matrix * zeros *******************************************************/ static void resp_act_(mxArray *thbreathe_PP_, mxArray *th_P_, mxArray *at_P_, double deltaT, int stime, double etime ) { mxArray *Mplhs_[1]; mxArray rhs_[3]; mxArray at; mxArray thbreathe; mxArray time; double tau = 0.0; double sigmailv = 0.0; mxArray time1; mxArray time2; mxArray Q; mxArray dQ; mxArray d2Q1; mxArray d2Q2; mxArray d2Q; mxArray dQ1; mxArray dQ2; double flag = 0.0; int startm = 0; int m = 0; int endm = 0; int counting = 0; double period = 0.0; double meanavr = 0.0; double Qtr = 0.0; int I0_ = 0; unsigned short B0_ = 0; double R0_ = 0.0; mxArray IM0_; mxArray RM0_; mxArray RM1_; double R1_ = 0.0; mxArray RM2_; mxArray RM3_; double R2_ = 0.0; mxArray RM4_; mxArray RM5_; mxArray RM6_; mxArray RM7_; double R3_ = 0.0; mxArray RM8_; mxArray RM9_; mxArray RM10_; mxArray RM11_; double R4_ = 0.0; mxArray RM12_; mxArray RM13_; mxArray RM14_; mxArray RM15_; double R5_ = 0.0; double R6_ = 0.0; double R7_ = 0.0; double R8_ = 0.0; double R9_ = 0.0; int I1_ = 0; int I2_ = 0; mccRealInit(at); mccCopy(&at, at_P_); mccRealInit(thbreathe); mccRealInit(time); mccRealInit(time1); mccRealInit(time2); mccRealInit(Q); mccRealInit(dQ); mccRealInit(d2Q1); mccRealInit(d2Q2); mccRealInit(d2Q); mccRealInit(dQ1); mccRealInit(dQ2); mccIntInit(IM0_); mccRealInit(RM0_); mccRealInit(RM1_); mccRealInit(RM2_); mccRealInit(RM3_); mccRealInit(RM4_); mccRealInit(RM5_); mccRealInit(RM6_); mccRealInit(RM7_); mccRealInit(RM8_); mccRealInit(RM9_); mccRealInit(RM10_); mccRealInit(RM11_); mccRealInit(RM12_); mccRealInit(RM13_); mccRealInit(RM14_); mccRealInit(RM15_); /* % Establishing times in which the respiratory-related waveforms */ /* % are to be computed. */ /* time = stime:deltaT:etime; */ mccColon(&time, (double)stime, deltaT, etime); /* % Pre-allocating memory for the function outputs. */ /* thbreathe = zeros(4,length(time)); */ I0_ = mccGetLength(&time); mccZerosMN(&thbreathe, 4, I0_); /* % No breathing. */ /* if (length(at) == 1) */ I0_ = mccGetLength(&at); B0_ = (I0_ == 1); if ((double)B0_) { /* % Setting respiratory-related waveforms to their functional */ /* % reserve values. */ /* thbreathe(1,:) = th(98)*ones(1,length(time)); */ R0_ = (mccPR(th_P_)[(98-1)]); I0_ = mccGetLength(&time); mccOnesMN(&IM0_, 1, I0_); { int i_, j_; int m_=1, n_=1, cx_ = 0; double *p_thbreathe; int I_thbreathe=1, J_thbreathe; int *p_IM0_; int I_IM0_=1; m_ = mcmCalcResultSize(m_, &n_, mccM(&IM0_), mccN(&IM0_)); if (!mccNOTSET(&thbreathe)) m_ = mcmCalcResultSize(m_, &n_, 1, mccN(&thbreathe)); if (mccN(&thbreathe) == 1) { I_thbreathe = J_thbreathe = 0;} else { I_thbreathe = 1; J_thbreathe=mccM(&thbreathe)-m_; } p_thbreathe = mccPR(&thbreathe) + (1-1) + mccM(&thbreathe) * 0; I_IM0_ = (mccM(&IM0_) != 1 || mccN(&IM0_) != 1); p_IM0_ = mccIPR(&IM0_); if (m_ != 0) { for (j_=0; j_ * at real vector/matrix * cos * counting integer scalar * d2Q real vector/matrix * d2Q1 real vector/matrix * d2Q2 real vector/matrix * dQ real vector/matrix * dQ1 real vector/matrix * dQ2 real vector/matrix * deltaT real scalar * end * endm integer scalar * etime real scalar * exp * flag real scalar * length * m integer scalar * mbrealscalar * meanavr real scalar * ones * period real scalar * pi * resp_act__1 * sigmailv real scalar * sin * startm integer scalar * stime integer scalar * tau real scalar * th real vector/matrix * thbreathe real vector/matrix * time real vector/matrix * time1 real vector/matrix * time2 real vector/matrix * zeros *******************************************************/ static void resp_act__1(mxArray *thbreathe_PP_, mxArray *th_P_, mxArray *at_P_, double deltaT, int stime, double etime ) { mxArray *Mplhs_[1]; mxArray rhs_[3]; mxArray at; mxArray thbreathe; mxArray time; double tau = 0.0; double sigmailv = 0.0; mxArray time1; mxArray time2; mxArray Q; mxArray dQ; mxArray d2Q1; mxArray d2Q2; mxArray d2Q; mxArray dQ1; mxArray dQ2; double flag = 0.0; int startm = 0; int m = 0; int endm = 0; int counting = 0; double period = 0.0; double meanavr = 0.0; double Qtr = 0.0; int I0_ = 0; unsigned short B0_ = 0; double R0_ = 0.0; mxArray IM0_; mxArray RM0_; mxArray RM1_; double R1_ = 0.0; mxArray RM2_; mxArray RM3_; double R2_ = 0.0; mxArray RM4_; mxArray RM5_; mxArray RM6_; mxArray RM7_; double R3_ = 0.0; mxArray RM8_; mxArray RM9_; mxArray RM10_; mxArray RM11_; double R4_ = 0.0; mxArray RM12_; mxArray RM13_; mxArray RM14_; mxArray RM15_; double R5_ = 0.0; double R6_ = 0.0; double R7_ = 0.0; double R8_ = 0.0; double R9_ = 0.0; int I1_ = 0; int I2_ = 0; mccRealInit(at); mccCopy(&at, at_P_); mccRealInit(thbreathe); mccRealInit(time); mccRealInit(time1); mccRealInit(time2); mccRealInit(Q); mccRealInit(dQ); mccRealInit(d2Q1); mccRealInit(d2Q2); mccRealInit(d2Q); mccRealInit(dQ1); mccRealInit(dQ2); mccIntInit(IM0_); mccRealInit(RM0_); mccRealInit(RM1_); mccRealInit(RM2_); mccRealInit(RM3_); mccRealInit(RM4_); mccRealInit(RM5_); mccRealInit(RM6_); mccRealInit(RM7_); mccRealInit(RM8_); mccRealInit(RM9_); mccRealInit(RM10_); mccRealInit(RM11_); mccRealInit(RM12_); mccRealInit(RM13_); mccRealInit(RM14_); mccRealInit(RM15_); /* % Establishing times in which the respiratory-related waveforms */ /* % are to be computed. */ /* time = stime:deltaT:etime; */ mccColon(&time, (double)stime, deltaT, etime); /* % Pre-allocating memory for the function outputs. */ /* thbreathe = zeros(4,length(time)); */ I0_ = mccGetLength(&time); mccZerosMN(&thbreathe, 4, I0_); /* % No breathing. */ /* if (length(at) == 1) */ I0_ = mccGetLength(&at); B0_ = (I0_ == 1); if ((double)B0_) { /* % Setting respiratory-related waveforms to their functional */ /* % reserve values. */ /* thbreathe(1,:) = th(98)*ones(1,length(time)); */ R0_ = (mccPR(th_P_)[(98-1)]); I0_ = mccGetLength(&time); mccOnesMN(&IM0_, 1, I0_); { int i_, j_; int m_=1, n_=1, cx_ = 0; double *p_thbreathe; int I_thbreathe=1, J_thbreathe; int *p_IM0_; int I_IM0_=1; m_ = mcmCalcResultSize(m_, &n_, mccM(&IM0_), mccN(&IM0_)); if (!mccNOTSET(&thbreathe)) m_ = mcmCalcResultSize(m_, &n_, 1, mccN(&thbreathe)); if (mccN(&thbreathe) == 1) { I_thbreathe = J_thbreathe = 0;} else { I_thbreathe = 1; J_thbreathe=mccM(&thbreathe)-m_; } p_thbreathe = mccPR(&thbreathe) + (1-1) + mccM(&thbreathe) * 0; I_IM0_ = (mccM(&IM0_) != 1 || mccN(&IM0_) != 1); p_IM0_ = mccIPR(&IM0_); if (m_ != 0) { for (j_=0; j_ * k real scalar * lambda real scalar * rand * rand_int_breath_ * reallog * t real vector/matrix * tmax integer scalar * tmin integer scalar *******************************************************/ static void rand_int_breath_(mxArray *t_PP_ ) { mxArray *Mplhs_[1]; mxArray rhs_[2]; mxArray t; double lambda = 0.0; int tmin = 0; int tmax = 0; double k = 0.0; double R0_ = 0.0; mxArray RM0_; mxArray RM1_; mxArray RM2_; mccRealInit(t); mccRealInit(RM0_); mccRealInit(RM1_); mccRealInit(RM2_); /* % Assigning variables. */ /* lambda = 0.2083; */ lambda = 0.2083; /* tmin = 1; */ tmin = 1; /* tmax = 15; */ tmax = 15; /* % Computing the time of the initiation of the next respiratory cycle. */ /* k = 1/(1 - exp(-lambda*(tmax-tmin))); */ R0_ = exp(((-lambda) * (double) (tmax - tmin))); k = (1 / (double) (1 - R0_)); /* t = tmin - (1/lambda)*log(1-(rand(1)/k)); */ R0_ = (1 / (double) lambda); mccFixInternalMatrix( &(rhs_[0]), mccTempMatrix(1, 0., mccINT, 0 ), 0 ); mccImport(&RM0_, (mxArray *) mlfRand( &(rhs_[0]), 0), 1, 22); mccFreeMlfRhs( rhs_, 1); { int i_, j_; int m_=1, n_=1, cx_ = 0; double *p_RM1_; int I_RM1_=1; double *p_RM0_; int I_RM0_=1; m_ = mcmCalcResultSize(m_, &n_, mccM(&RM0_), mccN(&RM0_)); mccAllocateMatrix(&RM1_, m_, n_); I_RM1_ = (mccM(&RM1_) != 1 || mccN(&RM1_) != 1); p_RM1_ = mccPR(&RM1_); I_RM0_ = (mccM(&RM0_) != 1 || mccN(&RM0_) != 1); p_RM0_ = mccPR(&RM0_); if (m_ != 0) { for (j_=0; j_ * air1 real vector/matrix * air2 real vector/matrix * ares1 real vector/matrix * ares2 real vector/matrix * atan * b real vector/matrix * bP real vector/matrix * bres real vector/matrix * cl real vector/matrix * clsp real scalar * cr real vector/matrix * crsp real scalar * d real vector/matrix * deltaPsp real vector/matrix * en1 real scalar * en2 real scalar * epd real vector/matrix * length * mbrealscalar * numz real scalar * pres real vector/matrix * sir real vector/matrix * st1 real scalar * st2 real scalar * sum * th real vector/matrix * thc real vector/matrix * thsp real vector/matrix * vir real vector/matrix * zeros *******************************************************/ static void abreflex__1(mxArray *thc_PP_, mxArray *S_P_, mxArray *bP_P_, mxArray *th_P_, mxArray *thsp_P_, mxArray *deltaPsp_P_ ) { mxArray thc; double Sgran = 0.0; int Slength = 0; double Sratio = 0.0; mxArray sir; mxArray vir; double st1 = 0.0; double en1 = 0.0; double st2 = 0.0; double en2 = 0.0; double numz = 0.0; mxArray air1; mxArray air2; mxArray epd; mxArray bres; mxArray pres; mxArray ares1; mxArray ares2; mxArray a; mxArray b; double clsp = 0.0; double crsp = 0.0; mxArray cl; mxArray cr; mxArray d; mxArray RM0_; int I0_ = 0; double R0_ = 0.0; mxArray RM1_; mxArray RM2_; mxArray RM3_; double R1_ = 0.0; double R2_ = 0.0; mccRealInit(thc); mccRealInit(sir); mccRealInit(vir); mccRealInit(air1); mccRealInit(air2); mccRealInit(epd); mccRealInit(bres); mccRealInit(pres); mccRealInit(ares1); mccRealInit(ares2); mccRealInit(a); mccRealInit(b); mccRealInit(cl); mccRealInit(cr); mccRealInit(d); mccRealInit(RM0_); mccRealInit(RM1_); mccRealInit(RM2_); mccRealInit(RM3_); /* % Assigning variables. */ /* Sgran = S(1); */ Sgran = (mccPR(S_P_)[(1-1)]); /* Slength = S(2); */ Slength = ((int)mccPR(S_P_)[(2-1)]); /* Sratio = S(3); */ Sratio = (mccPR(S_P_)[(3-1)]); /* % Pre-allocating memory for autonomic impulse responses. */ /* sir = zeros(Slength,1); */ mccZerosMN(&sir, Slength, 1); /* vir = zeros(Slength,1); */ mccZerosMN(&vir, Slength, 1); /* % Creating unit-area beta-sympathetic impulse response. */ /* st1 = ((2/Sgran)-((Sratio*Sgran/2)/Sgran))+1; */ st1 = (((2 / (double) Sgran) - (((Sratio * (double) Sgran) / (double) 2) / (double) Sgran)) + 1); /* en1 = length(Sgran:Sgran:3.0)+st1-1; */ mccColon(&RM0_, Sgran, Sgran, 3.0); I0_ = mccGetLength(&RM0_); en1 = ((I0_ + st1) - 1); /* st2 = en1+1; */ st2 = (en1 + 1); /* en2 = length(Sgran:Sgran:25.0)+st2-1; */ mccColon(&RM0_, Sgran, Sgran, 25.0); I0_ = mccGetLength(&RM0_); en2 = ((I0_ + st2) - 1); /* sir(st1:en1) = ((1.0/42.0)*(Sgran:Sgran:3.0))'; */ R0_ = (1.0 / (double) 42.0); mccColon(&RM1_, Sgran, Sgran, 3.0); { int i_, j_; int m_=1, n_=1, cx_ = 0; double *p_RM2_; int I_RM2_=1; double *p_RM1_; int I_RM1_=1; m_ = mcmCalcResultSize(m_, &n_, mccM(&RM1_), mccN(&RM1_)); mccAllocateMatrix(&RM2_, m_, n_); I_RM2_ = (mccM(&RM2_) != 1 || mccN(&RM2_) != 1); p_RM2_ = mccPR(&RM2_); I_RM1_ = (mccM(&RM1_) != 1 || mccN(&RM1_) != 1); p_RM1_ = mccPR(&RM1_); if (m_ != 0) { for (j_=0; j_ * air1 real vector/matrix * air2 real vector/matrix * ares1 real vector/matrix * ares2 real vector/matrix * atan * b real vector/matrix * bP real vector/matrix * bres real vector/matrix * cl real vector/matrix * clsp real scalar * cr real vector/matrix * crsp real scalar * d real vector/matrix * deltaPsp real vector/matrix * en1 real scalar * en2 real scalar * epd real vector/matrix * length * mbrealscalar * numz real scalar * pres real vector/matrix * sir real vector/matrix * st1 real scalar * st2 real scalar * sum * th real vector/matrix * thc real vector/matrix * thsp real vector/matrix * vir real vector/matrix * zeros *******************************************************/ static void abreflex_(mxArray *thc_PP_, mxArray *S_P_, mxArray *bP_P_, mxArray *th_P_, mxArray *thsp_P_, mxArray *deltaPsp_P_ ) { mxArray thc; double Sgran = 0.0; int Slength = 0; double Sratio = 0.0; mxArray sir; mxArray vir; double st1 = 0.0; double en1 = 0.0; double st2 = 0.0; double en2 = 0.0; double numz = 0.0; mxArray air1; mxArray air2; mxArray epd; mxArray bres; mxArray pres; mxArray ares1; mxArray ares2; mxArray a; mxArray b; double clsp = 0.0; double crsp = 0.0; mxArray cl; mxArray cr; mxArray d; mxArray RM0_; int I0_ = 0; double R0_ = 0.0; mxArray RM1_; mxArray RM2_; mxArray RM3_; double R1_ = 0.0; double R2_ = 0.0; mccRealInit(thc); mccRealInit(sir); mccRealInit(vir); mccRealInit(air1); mccRealInit(air2); mccRealInit(epd); mccRealInit(bres); mccRealInit(pres); mccRealInit(ares1); mccRealInit(ares2); mccRealInit(a); mccRealInit(b); mccRealInit(cl); mccRealInit(cr); mccRealInit(d); mccRealInit(RM0_); mccRealInit(RM1_); mccRealInit(RM2_); mccRealInit(RM3_); /* % Assigning variables. */ /* Sgran = S(1); */ Sgran = (mccPR(S_P_)[(1-1)]); /* Slength = S(2); */ Slength = ((int)mccPR(S_P_)[(2-1)]); /* Sratio = S(3); */ Sratio = (mccPR(S_P_)[(3-1)]); /* % Pre-allocating memory for autonomic impulse responses. */ /* sir = zeros(Slength,1); */ mccZerosMN(&sir, Slength, 1); /* vir = zeros(Slength,1); */ mccZerosMN(&vir, Slength, 1); /* % Creating unit-area beta-sympathetic impulse response. */ /* st1 = ((2/Sgran)-((Sratio*Sgran/2)/Sgran))+1; */ st1 = (((2 / (double) Sgran) - (((Sratio * (double) Sgran) / (double) 2) / (double) Sgran)) + 1); /* en1 = length(Sgran:Sgran:3.0)+st1-1; */ mccColon(&RM0_, Sgran, Sgran, 3.0); I0_ = mccGetLength(&RM0_); en1 = ((I0_ + st1) - 1); /* st2 = en1+1; */ st2 = (en1 + 1); /* en2 = length(Sgran:Sgran:25.0)+st2-1; */ mccColon(&RM0_, Sgran, Sgran, 25.0); I0_ = mccGetLength(&RM0_); en2 = ((I0_ + st2) - 1); /* sir(st1:en1) = ((1.0/42.0)*(Sgran:Sgran:3.0))'; */ R0_ = (1.0 / (double) 42.0); mccColon(&RM1_, Sgran, Sgran, 3.0); { int i_, j_; int m_=1, n_=1, cx_ = 0; double *p_RM2_; int I_RM2_=1; double *p_RM1_; int I_RM1_=1; m_ = mcmCalcResultSize(m_, &n_, mccM(&RM1_), mccN(&RM1_)); mccAllocateMatrix(&RM2_, m_, n_); I_RM2_ = (mccM(&RM2_) != 1 || mccN(&RM2_) != 1); p_RM2_ = mccPR(&RM2_); I_RM1_ = (mccM(&RM1_) != 1 || mccN(&RM1_) != 1); p_RM1_ = mccPR(&RM1_); if (m_ != 0) { for (j_=0; j_ * en1 real scalar * en2 real scalar * h real vector/matrix * length * numz real scalar * pres real vector/matrix * sir real vector/matrix * st1 real scalar * st2 real scalar * th real vector/matrix * vir real vector/matrix * zeros *******************************************************/ static void dncm_filt_(mxArray *h_PP_, mxArray *th_P_, mxArray *S_P_ ) { mxArray h; double Sgran = 0.0; int Slength = 0; double Sratio = 0.0; mxArray sir; double st1 = 0.0; double en1 = 0.0; double st2 = 0.0; double en2 = 0.0; mxArray vir; double numz = 0.0; mxArray bres; mxArray pres; mxArray RM0_; int I0_ = 0; double R0_ = 0.0; mxArray RM1_; mxArray RM2_; mxArray RM3_; double R1_ = 0.0; mccRealInit(h); mccRealInit(sir); mccRealInit(vir); mccRealInit(bres); mccRealInit(pres); mccRealInit(RM0_); mccRealInit(RM1_); mccRealInit(RM2_); mccRealInit(RM3_); /* % Assigning variables. */ /* Sgran = S(1); */ Sgran = (mccPR(S_P_)[(1-1)]); /* Slength = S(2); */ Slength = ((int)mccPR(S_P_)[(2-1)]); /* Sratio = S(3); */ Sratio = (mccPR(S_P_)[(3-1)]); /* % Creating unit-area beta-sympathetic impulse response. */ /* sir = zeros(Slength,1); */ mccZerosMN(&sir, Slength, 1); /* st1 = ((2/Sgran)-((Sratio*Sgran/2)/Sgran))+1; */ st1 = (((2 / (double) Sgran) - (((Sratio * (double) Sgran) / (double) 2) / (double) Sgran)) + 1); /* en1 = length(Sgran:Sgran:3.0)+st1-1; */ mccColon(&RM0_, Sgran, Sgran, 3.0); I0_ = mccGetLength(&RM0_); en1 = ((I0_ + st1) - 1); /* st2 = en1+1; */ st2 = (en1 + 1); /* en2 = length(Sgran:Sgran:25.0)+st2-1; */ mccColon(&RM0_, Sgran, Sgran, 25.0); I0_ = mccGetLength(&RM0_); en2 = ((I0_ + st2) - 1); /* sir(st1:en1) = ((1.0/42.0)*(Sgran:Sgran:3.0))'; */ R0_ = (1.0 / (double) 42.0); mccColon(&RM1_, Sgran, Sgran, 3.0); { int i_, j_; int m_=1, n_=1, cx_ = 0; double *p_RM2_; int I_RM2_=1; double *p_RM1_; int I_RM1_=1; m_ = mcmCalcResultSize(m_, &n_, mccM(&RM1_), mccN(&RM1_)); mccAllocateMatrix(&RM2_, m_, n_); I_RM2_ = (mccM(&RM2_) != 1 || mccN(&RM2_) != 1); p_RM2_ = mccPR(&RM2_); I_RM1_ = (mccM(&RM1_) != 1 || mccN(&RM1_) != 1); p_RM1_ = mccPR(&RM1_); if (m_ != 0) { for (j_=0; j_ * i integer scalar * ilv real vector/matrix * ilv_dec_ * ilvn real vector/matrix * length * m integer scalar * mbrealscalar * scale real scalar * start integer scalar * sumilv real vector/matrix * t real vector/matrix * tf real scalar * ti real scalar * ts real scalar * zeros *******************************************************/ static void ilv_dec_(mxArray *ilvn_PP_, mxArray *ilv_P_, double Ogran, double Sgran ) { mxArray ilvn; mxArray t; int N = 0; int m = 0; int start = 0; int i = 0; double ts = 0.0; double ti = 0.0; double tf = 0.0; double scale = 0.0; mxArray sumilv; int I0_ = 0; mxArray IM0_; double R0_ = 0.0; mccRealInit(ilvn); mccRealInit(t); mccRealInit(sumilv); mccIntInit(IM0_); /* % Creating time vector which corresponds to Qlu at the original granularity. */ /* t = (0:length(ilv))*Ogran; */ I0_ = mccGetLength(ilv_P_); mccIntColon2(&IM0_, 0, I0_); { int i_, j_; int m_=1, n_=1, cx_ = 0; double *p_t; int I_t=1; int *p_IM0_; int I_IM0_=1; m_ = mcmCalcResultSize(m_, &n_, mccM(&IM0_), mccN(&IM0_)); mccAllocateMatrix(&t, m_, n_); I_t = (mccM(&t) != 1 || mccN(&t) != 1); p_t = mccPR(&t); I_IM0_ = (mccM(&IM0_) != 1 || mccN(&IM0_) != 1); p_IM0_ = mccIPR(&IM0_); if (m_ != 0) { for (j_=0; j_ * b real vector/matrix * bPratr real vector/matrix * bres real vector/matrix * cl real vector/matrix * clsp real scalar * cpreflex_ * cr real vector/matrix * crsp real scalar * d real vector/matrix * en1 real scalar * en2 real scalar * epd real vector/matrix * length * mbrealscalar * numz real scalar * pres real vector/matrix * sir real vector/matrix * st1 real scalar * st2 real scalar * sum * th real vector/matrix * thc real vector/matrix * thsp real vector/matrix * vir real vector/matrix * zeros *******************************************************/ static void cpreflex_(mxArray *thc_PP_, mxArray *S_P_, mxArray *bPratr_P_, mxArray *th_P_, mxArray *thsp_P_ ) { mxArray thc; double Sgran = 0.0; int Slength = 0; double Sratio = 0.0; mxArray sir; mxArray vir; double st1 = 0.0; double en1 = 0.0; double st2 = 0.0; double en2 = 0.0; double numz = 0.0; mxArray air1; mxArray air2; mxArray epd; mxArray bres; mxArray pres; mxArray ares1; mxArray ares2; mxArray a; mxArray b; double clsp = 0.0; double crsp = 0.0; mxArray cl; mxArray cr; mxArray d; mxArray RM0_; int I0_ = 0; double R0_ = 0.0; mxArray RM1_; mxArray RM2_; mxArray RM3_; double R1_ = 0.0; double R2_ = 0.0; mccRealInit(thc); mccRealInit(sir); mccRealInit(vir); mccRealInit(air1); mccRealInit(air2); mccRealInit(epd); mccRealInit(bres); mccRealInit(pres); mccRealInit(ares1); mccRealInit(ares2); mccRealInit(a); mccRealInit(b); mccRealInit(cl); mccRealInit(cr); mccRealInit(d); mccRealInit(RM0_); mccRealInit(RM1_); mccRealInit(RM2_); mccRealInit(RM3_); /* % Assigning variables. */ /* Sgran = S(1); */ Sgran = (mccPR(S_P_)[(1-1)]); /* Slength = S(2); */ Slength = ((int)mccPR(S_P_)[(2-1)]); /* Sratio = S(3); */ Sratio = (mccPR(S_P_)[(3-1)]); /* % Pre-allocating memory for autonomic impulse responses. */ /* sir = zeros(Slength,1); */ mccZerosMN(&sir, Slength, 1); /* vir = zeros(Slength,1); */ mccZerosMN(&vir, Slength, 1); /* % Creating unit-area beta-sympathetic impulse response. */ /* st1 = ((2/Sgran)-((Sratio*Sgran/2)/Sgran))+1; */ st1 = (((2 / (double) Sgran) - (((Sratio * (double) Sgran) / (double) 2) / (double) Sgran)) + 1); /* en1 = length(Sgran:Sgran:3.0)+st1-1; */ mccColon(&RM0_, Sgran, Sgran, 3.0); I0_ = mccGetLength(&RM0_); en1 = ((I0_ + st1) - 1); /* st2 = en1+1; */ st2 = (en1 + 1); /* en2 = length(Sgran:Sgran:25.0)+st2-1; */ mccColon(&RM0_, Sgran, Sgran, 25.0); I0_ = mccGetLength(&RM0_); en2 = ((I0_ + st2) - 1); /* sir(st1:en1) = ((1.0/42.0)*(Sgran:Sgran:3.0))'; */ R0_ = (1.0 / (double) 42.0); mccColon(&RM1_, Sgran, Sgran, 3.0); { int i_, j_; int m_=1, n_=1, cx_ = 0; double *p_RM2_; int I_RM2_=1; double *p_RM1_; int I_RM1_=1; m_ = mcmCalcResultSize(m_, &n_, mccM(&RM1_), mccN(&RM1_)); mccAllocateMatrix(&RM2_, m_, n_); I_RM2_ = (mccM(&RM2_) != 1 || mccN(&RM2_) != 1); p_RM2_ = mccPR(&RM2_); I_RM1_ = (mccM(&RM1_) != 1 || mccN(&RM1_) != 1); p_RM1_ = mccPR(&RM1_); if (m_ != 0) { for (j_=0; j_ * en1 real scalar * en2 real scalar * h real vector/matrix * length * numz real scalar * sir real vector/matrix * st1 real scalar * st2 real scalar * th real vector/matrix * vir real vector/matrix * zeros *******************************************************/ static void ans_filt_(mxArray *h_PP_, mxArray *th_P_, mxArray *S_P_ ) { mxArray h; double Sgran = 0.0; int Slength = 0; double Sratio = 0.0; mxArray sir; mxArray vir; double st1 = 0.0; double en1 = 0.0; double st2 = 0.0; double en2 = 0.0; double numz = 0.0; mxArray RM0_; int I0_ = 0; double R0_ = 0.0; mxArray RM1_; mxArray RM2_; mxArray RM3_; double R1_ = 0.0; mccRealInit(h); mccRealInit(sir); mccRealInit(vir); mccRealInit(RM0_); mccRealInit(RM1_); mccRealInit(RM2_); mccRealInit(RM3_); /* % Assigning variables. */ /* Sgran = S(1); */ Sgran = (mccPR(S_P_)[(1-1)]); /* Slength = S(2); */ Slength = ((int)mccPR(S_P_)[(2-1)]); /* Sratio = S(3); */ Sratio = (mccPR(S_P_)[(3-1)]); /* % Pre-allocating memory for autonomic impulse responses. */ /* sir = zeros(Slength,1); */ mccZerosMN(&sir, Slength, 1); /* vir = zeros(Slength,1); */ mccZerosMN(&vir, Slength, 1); /* % Creating unit-area beta-sympathetic impulse response. */ /* st1 = ((2/Sgran)-((Sratio*Sgran/2)/Sgran))+1; */ st1 = (((2 / (double) Sgran) - (((Sratio * (double) Sgran) / (double) 2) / (double) Sgran)) + 1); /* en1 = length(Sgran:Sgran:3.0)+st1-1; */ mccColon(&RM0_, Sgran, Sgran, 3.0); I0_ = mccGetLength(&RM0_); en1 = ((I0_ + st1) - 1); /* st2 = en1+1; */ st2 = (en1 + 1); /* en2 = length(Sgran:Sgran:25.0)+st2-1; */ mccColon(&RM0_, Sgran, Sgran, 25.0); I0_ = mccGetLength(&RM0_); en2 = ((I0_ + st2) - 1); /* sir(st1:en1) = ((1.0/42.0)*(Sgran:Sgran:3.0))'; */ R0_ = (1.0 / (double) 42.0); mccColon(&RM1_, Sgran, Sgran, 3.0); { int i_, j_; int m_=1, n_=1, cx_ = 0; double *p_RM2_; int I_RM2_=1; double *p_RM1_; int I_RM1_=1; m_ = mcmCalcResultSize(m_, &n_, mccM(&RM1_), mccN(&RM1_)); mccAllocateMatrix(&RM2_, m_, n_); I_RM2_ = (mccM(&RM2_) != 1 || mccN(&RM2_) != 1); p_RM2_ = mccPR(&RM2_); I_RM1_ = (mccM(&RM1_) != 1 || mccN(&RM1_) != 1); p_RM1_ = mccPR(&RM1_); if (m_ != 0) { for (j_=0; j_ * count integer scalar * dmax integer scalar * dmin integer scalar * dnum integer scalar * end * falloff integer scalar * filter * h real vector/matrix * i integer vector/matrix * i integer scalar => i_1 * omegap real vector/matrix * omegaz real vector/matrix * oneoverf_filt_ * ones * pi * ratio real scalar * realsqrt * sum * th real vector/matrix * zeros *******************************************************/ static void oneoverf_filt_(mxArray *h_PP_, mxArray *th_P_, double Sgran, int dmin, int dmax ) { mxArray *Mplhs_[2]; mxArray rhs_[5]; mxArray h; double alpha = 0.0; int dnum = 0; mxArray i; mxArray Omegap; mxArray Omegaz; int falloff = 0; mxArray omegap; mxArray omegaz; mxArray a; mxArray b; int i_1 = 0; double ratio = 0.0; int count = 0; double R0_ = 0.0; double R1_ = 0.0; mxArray IM0_; mxArray RM0_; int I0_ = 0; mxArray IM1_; mxArray RM1_; mccRealInit(h); mccIntInit(i); mccRealInit(Omegap); mccRealInit(Omegaz); mccRealInit(omegap); mccRealInit(omegaz); mccRealInit(a); mccRealInit(b); mccIntInit(IM0_); mccRealInit(RM0_); mccIntInit(IM1_); mccRealInit(RM1_); /* % Assigning variables. */ /* alpha = th(59); */ alpha = (mccPR(th_P_)[(59-1)]); /* dnum = dmax-dmin; */ dnum = (dmax - dmin); /* % Defining continous-time poles and zeros in units of rad/sec. */ /* i = 0:dnum-1; */ { int i_, j_; int m_=1, n_=1, cx_ = 0; int *p_i; int I_i=1; m_ = mcmCalcResultSize(m_, &n_, 1, ((int)((dnum - 1) - 0) + 1)); m_ = mcmCalcResultSize(m_, &n_, 1, ((int)((dnum - 1) - 0) + 1)); mccAllocateMatrix(&i, m_, n_); I_i = (mccM(&i) != 1 || mccN(&i) != 1); p_i = mccIPR(&i); if (m_ != 0) { for (j_=0; j_ 0.025) */ while (1) { if (!(( (ratio > 0.025) && !mccREL_NAN(ratio) ))) break; /* count = count+20; */ count = (count + 20); /* h = filter(b,a,[1; zeros(count,1)]); */ mccZerosMN(&IM0_, count, 1); mccCatenateRows(&IM1_, mccTempMatrix(1, 0., mccINT, 0 ), &IM0_); mccFixInternalMatrix( &(rhs_[0]), &b, 0 ); mccFixInternalMatrix( &(rhs_[1]), &a, 0 ); mccFixInternalMatrix( &(rhs_[2]), &IM1_, 0 ); mccImport(&h, (mxArray *) mlfFilter(0, &(rhs_[0]), &(rhs_[1]), &(rhs_[2]), 0, 0), 1, 70); mccFreeMlfRhs( rhs_, 3); /* ratio = h(end)/h(1); */ mccFixInternalMatrix( &(rhs_[0]), &h, 0 ); mccFixInternalMatrix( &(rhs_[1]), mccTempMatrix(1, 0., mccINT, 0 ), 0 ); mccFixInternalMatrix( &(rhs_[2]), mccTempMatrix(1, 0., mccINT, 0 ), 0 ); mccImport(&RM1_, (mxArray *) mlfEnd( &(rhs_[0]), &(rhs_[1]), &(rhs_[2])), 1, 71); mccFreeMlfRhs( rhs_, 3); I0_ = (mccPR(&RM1_)[(1-1)]); ratio = ((mccPR(&h)[(I0_-1)]) / (double) (mccPR(&h)[(1-1)])); /* end */ } /* % Normalizing function output to unity area. */ /* h = h/sum(h); */ mccSum(&RM1_, &h); mccRealRightDivide(&h, &h, &RM1_); mccCopy(h_PP_, &h ); mccFreeMatrix(&h); mccFreeMatrix(&i); mccFreeMatrix(&Omegap); mccFreeMatrix(&Omegaz); mccFreeMatrix(&omegap); mccFreeMatrix(&omegaz); mccFreeMatrix(&a); mccFreeMatrix(&b); mccFreeMatrix(&IM0_); mccFreeMatrix(&RM0_); mccFreeMatrix(&IM1_); mccFreeMatrix(&RM1_); return; } /* R = bl_filt(rr) */ /***************** Compiler Assumptions **************** * M-File: /data/rmukkama/cvsim/rcvsim/src/bl_filt.m * * R0_ real scalar temporary * R1_ real scalar temporary * RM0_ real vector/matrix temporary * RM1_ real vector/matrix temporary * RM2_ real vector/matrix temporary * Sgran real scalar * bl_filt_ * fco real scalar * h real vector/matrix * hra real vector/matrix * sinc * sum *******************************************************/ static void bl_filt_(mxArray *h_PP_, double fco, double Sgran ) { mxArray h; mxArray hra; double R0_ = 0.0; double R1_ = 0.0; mxArray RM0_; mxArray RM1_; mxArray RM2_; mccRealInit(h); mccRealInit(hra); mccRealInit(RM0_); mccRealInit(RM1_); mccRealInit(RM2_); /* % Forming truncated sinc filter. */ /* hra = 2*fco*sinc(2*fco*(-60:Sgran:60)); */ R0_ = (2 * (double) fco); R1_ = (2 * (double) fco); mccColon(&RM0_, (double) -60, Sgran, (double)60); { int i_, j_; int m_=1, n_=1, cx_ = 0; double *p_RM1_; int I_RM1_=1; double *p_RM0_; int I_RM0_=1; m_ = mcmCalcResultSize(m_, &n_, mccM(&RM0_), mccN(&RM0_)); mccAllocateMatrix(&RM1_, m_, n_); I_RM1_ = (mccM(&RM1_) != 1 || mccN(&RM1_) != 1); p_RM1_ = mccPR(&RM1_); I_RM0_ = (mccM(&RM0_) != 1 || mccN(&RM0_) != 1); p_RM0_ = mccPR(&RM0_); if (m_ != 0) { for (j_=0; j_ * i integer vector/matrix * ones * pi * sin * sinc_ * size * x real vector/matrix * y real vector/matrix *******************************************************/ static void sinc_(mxArray *y_PP_, mxArray *x_P_ ) { mxArray y; mxArray i; mxArray IM0_; double R0_ = 0.0; mxArray IM1_; mxArray RM0_; mxArray RM1_; double R1_ = 0.0; mxArray IM2_; mccRealInit(y); mccIntInit(i); mccIntInit(IM0_); mccIntInit(IM1_); mccRealInit(RM0_); mccRealInit(RM1_); mccIntInit(IM2_); /* % SINC Sin(pi*x)/(pi*x) function. */ /* % SINC(X) returns a matrix whose elements are the sinc of the elements */ /* % of X, i.e. */ /* % y = sin(pi*x)/(pi*x) if x ~= 0 */ /* % = 1 if x == 0 */ /* % where x is an element of the input matrix and y is the resultant */ /* % output element. */ /* % See also SQUARE, SIN, COS, CHIRP, DIRIC, GAUSPULS, PULSTRAN, RECTPULS, */ /* % and TRIPULS. */ /* % Author(s): T. Krauss, 1-14-93 */ /* % Copyright (c) 1988-1999 The MathWorks, Inc. All Rights Reserved. */ /* % $Revision: 1.4 $ $Date: 1999/01/11 19:05:06 $ */ /* y=ones(size(x)); */ mccSize(&IM0_, x_P_); mccOnes(&y, &IM0_); /* i=find(x); */ mccFind(&i, x_P_); /* y(i)=sin(pi*x(i))./(pi*x(i)); */ R0_ = mcmPi(); mccFindIndex(&IM1_, &i); { int i_, j_; int m_=1, n_=1, cx_ = 0; double *p_RM0_; int I_RM0_=1; double *p_x; int *p_IM1_; int I_IM1_=1; m_ = mccCalcSubscriptDimensions(m_, &n_, mccM(&IM1_), mccN(&IM1_), x_P_); mccAllocateMatrix(&RM0_, m_, n_); I_RM0_ = (mccM(&RM0_) != 1 || mccN(&RM0_) != 1); p_RM0_ = mccPR(&RM0_); I_IM1_ = (mccM(&IM1_) != 1 || mccN(&IM1_) != 1); p_IM1_ = mccIPR(&IM1_); if (m_ != 0) { for (j_=0; j_ * count integer scalar * count integer vector/matrix => count_1 * df real scalar * dgainp real vector/matrix * dgains real vector/matrix * dncm real scalar * dra real scalar * fco real scalar * fcp real vector/matrix * fgetl * findstr * finish integer scalar * index integer scalar * inputfileid integer scalar * isempty * isspace * length * line integer vector/matrix * line real vector/matrix => line_1 * lnum integer scalar * mbintscalar * numerics real vector/matrix * pgain real vector/matrix * preparation real scalar * read_param_ * sscanf * start integer scalar * stdwf real vector/matrix * stdwr real vector/matrix * step real vector/matrix * strcmp * th real vector/matrix * theta real vector/matrix * time real scalar * tmp real vector/matrix * tstr string vector/matrix * tstr real vector/matrix => tstr_1 * waveform integer vector/matrix * window real vector/matrix * x boolean scalar *******************************************************/ static void read_param_(mxArray *th_PP_, mxArray *waveform_PP_, int inputfileid ) { mxArray *Mplhs_[4]; mxArray rhs_[3]; mxArray th; mxArray waveform; mxArray Cls; mxArray Cld; mxArray Ca; mxArray Cv; mxArray Crs; mxArray Crd; mxArray Cpa; mxArray Cpv; mxArray Qlo; mxArray Qao; mxArray Qvo; mxArray Qro; mxArray Qpao; mxArray Qpvo; mxArray Rl; mxArray Ra; mxArray Rv; mxArray Rr; mxArray Rpa; mxArray Rpv; mxArray Qtot; mxArray F; mxArray Qlmax; mxArray Qrmax; mxArray Ppa; mxArray Pa; mxArray Pv; mxArray Plmax; mxArray Prmax; mxArray Pms; mxArray Qfrs; mxArray againr; mxArray bgain; mxArray pgain; mxArray Pasp; mxArray Pratrsp; mxArray Tr; mxArray fcp; mxArray Sa; mxArray stdwr; mxArray stdwf; mxArray dgainp; mxArray dgains; mxArray againq; mxArray cgainr; mxArray cgainq; mxArray cgainfp; mxArray Sc; mxArray Qt; mxArray Pvs; mxArray Crds; mxArray Pas; mxArray Pvc; mxArray again; mxArray againc; mxArray cgainc; mxArray againfs; mxArray cgainfs; mxArray againfp; mxArray Qfr; mxArray Qds; mxArray Rair; mxArray Clu; mxArray Qluo; mxArray window; mxArray annotations; mxArray numerics; mxArray alpha; mxArray step; mxArray line; int index = 0; mxArray tstr; int count = 0; unsigned short x = 0; int start = 0; mxArray count_1; int finish = 0; mxArray tmp; double fco = 0.0; int fco_set_ = 0; double time = 0.0; double preparation = 0.0; int preparation_set_ = 0; double breathing = 0.0; int breathing_set_ = 0; double dncm = 0.0; int dncm_set_ = 0; double baro = 0.0; int baro_set_ = 0; double dra = 0.0; int dra_set_ = 0; double df = 0.0; int df_set_ = 0; double Fs = 0.0; int Fs_set_ = 0; int lnum = 0; mxArray tstr_1; mxArray line_1; mxArray theta; mxArray IM0_; unsigned short B0_ = 0; unsigned short B1_ = 0; mxArray IM1_; mxArray BM0_; mxArray BM1_; mxArray BM2_; mxArray TM0_; mxArray BM3_; mxArray TM1_; int I0_ = 0; mxArray IM2_; mxArray IM3_; mxArray RM0_; mxArray RM1_; mxArray RM2_; mxArray RM3_; mxArray RM4_; mxArray RM5_; mxArray RM6_; mxArray RM7_; mxArray RM8_; mxArray RM9_; mxArray RM10_; mxArray RM11_; mxArray RM12_; mxArray RM13_; mxArray RM14_; mxArray RM15_; mxArray RM16_; mxArray RM17_; mxArray RM18_; mxArray RM19_; mxArray RM20_; mxArray RM21_; mxArray RM22_; mxArray RM23_; mxArray RM24_; mxArray RM25_; mxArray RM26_; mxArray RM27_; mxArray RM28_; mxArray RM29_; mxArray RM30_; mxArray RM31_; mxArray RM32_; mxArray RM33_; mxArray RM34_; mxArray RM35_; mxArray RM36_; mxArray RM37_; mxArray RM38_; mxArray RM39_; mxArray RM40_; mxArray RM41_; mxArray RM42_; mxArray RM43_; mxArray RM44_; mxArray RM45_; mxArray RM46_; mxArray RM47_; mxArray RM48_; mxArray RM49_; mxArray RM50_; mxArray RM51_; mxArray RM52_; mxArray RM53_; mxArray RM54_; mxArray RM55_; mxArray RM56_; mxArray RM57_; mxArray RM58_; mxArray RM59_; mxArray RM60_; mxArray RM61_; mxArray RM62_; mxArray RM63_; mxArray RM64_; mxArray RM65_; mxArray RM66_; mxArray RM67_; mxArray RM68_; mxArray RM69_; mxArray RM70_; mxArray RM71_; mxArray RM72_; mxArray RM73_; mxArray RM74_; mxArray RM75_; mxArray RM76_; mxArray RM77_; mxArray RM78_; mxArray RM79_; mxArray RM80_; mxArray RM81_; mxArray RM82_; mxArray RM83_; mxArray RM84_; mxArray RM85_; mxArray RM86_; mxArray RM87_; mxArray RM88_; mxArray RM89_; mxArray RM90_; mxArray RM91_; mxArray RM92_; mxArray RM93_; mxArray RM94_; mxArray RM95_; mxArray RM96_; mxArray RM97_; mxArray RM98_; mxArray RM99_; mxArray RM100_; mxArray RM101_; mxArray RM102_; mccRealInit(th); mccIntInit(waveform); mccRealInit(Cls); mccRealInit(Cld); mccRealInit(Ca); mccRealInit(Cv); mccRealInit(Crs); mccRealInit(Crd); mccRealInit(Cpa); mccRealInit(Cpv); mccRealInit(Qlo); mccRealInit(Qao); mccRealInit(Qvo); mccRealInit(Qro); mccRealInit(Qpao); mccRealInit(Qpvo); mccRealInit(Rl); mccRealInit(Ra); mccRealInit(Rv); mccRealInit(Rr); mccRealInit(Rpa); mccRealInit(Rpv); mccRealInit(Qtot); mccRealInit(F); mccRealInit(Qlmax); mccRealInit(Qrmax); mccRealInit(Ppa); mccRealInit(Pa); mccRealInit(Pv); mccRealInit(Plmax); mccRealInit(Prmax); mccRealInit(Pms); mccRealInit(Qfrs); mccRealInit(againr); mccRealInit(bgain); mccRealInit(pgain); mccRealInit(Pasp); mccRealInit(Pratrsp); mccRealInit(Tr); mccRealInit(fcp); mccRealInit(Sa); mccRealInit(stdwr); mccRealInit(stdwf); mccRealInit(dgainp); mccRealInit(dgains); mccRealInit(againq); mccRealInit(cgainr); mccRealInit(cgainq); mccRealInit(cgainfp); mccRealInit(Sc); mccRealInit(Qt); mccRealInit(Pvs); mccRealInit(Crds); mccRealInit(Pas); mccRealInit(Pvc); mccRealInit(again); mccRealInit(againc); mccRealInit(cgainc); mccRealInit(againfs); mccRealInit(cgainfs); mccRealInit(againfp); mccRealInit(Qfr); mccRealInit(Qds); mccRealInit(Rair); mccRealInit(Clu); mccRealInit(Qluo); mccRealInit(window); mccRealInit(annotations); mccRealInit(numerics); mccRealInit(alpha); mccRealInit(step); mccIntInit(line); mccTextInit(tstr); mccIntInit(count_1); mccRealInit(tmp); mccRealInit(tstr_1); mccRealInit(line_1); mccRealInit(theta); mccIntInit(IM0_); mccIntInit(IM1_); mccBoolInit(BM0_); mccBoolInit(BM1_); mccBoolInit(BM2_); mccTextInit(TM0_); mccBoolInit(BM3_); mccTextInit(TM1_); mccIntInit(IM2_); mccIntInit(IM3_); mccRealInit(RM0_); mccRealInit(RM1_); mccRealInit(RM2_); mccRealInit(RM3_); mccRealInit(RM4_); mccRealInit(RM5_); mccRealInit(RM6_); mccRealInit(RM7_); mccRealInit(RM8_); mccRealInit(RM9_); mccRealInit(RM10_); mccRealInit(RM11_); mccRealInit(RM12_); mccRealInit(RM13_); mccRealInit(RM14_); mccRealInit(RM15_); mccRealInit(RM16_); mccRealInit(RM17_); mccRealInit(RM18_); mccRealInit(RM19_); mccRealInit(RM20_); mccRealInit(RM21_); mccRealInit(RM22_); mccRealInit(RM23_); mccRealInit(RM24_); mccRealInit(RM25_); mccRealInit(RM26_); mccRealInit(RM27_); mccRealInit(RM28_); mccRealInit(RM29_); mccRealInit(RM30_); mccRealInit(RM31_); mccRealInit(RM32_); mccRealInit(RM33_); mccRealInit(RM34_); mccRealInit(RM35_); mccRealInit(RM36_); mccRealInit(RM37_); mccRealInit(RM38_); mccRealInit(RM39_); mccRealInit(RM40_); mccRealInit(RM41_); mccRealInit(RM42_); mccRealInit(RM43_); mccRealInit(RM44_); mccRealInit(RM45_); mccRealInit(RM46_); mccRealInit(RM47_); mccRealInit(RM48_); mccRealInit(RM49_); mccRealInit(RM50_); mccRealInit(RM51_); mccRealInit(RM52_); mccRealInit(RM53_); mccRealInit(RM54_); mccRealInit(RM55_); mccRealInit(RM56_); mccRealInit(RM57_); mccRealInit(RM58_); mccRealInit(RM59_); mccRealInit(RM60_); mccRealInit(RM61_); mccRealInit(RM62_); mccRealInit(RM63_); mccRealInit(RM64_); mccRealInit(RM65_); mccRealInit(RM66_); mccRealInit(RM67_); mccRealInit(RM68_); mccRealInit(RM69_); mccRealInit(RM70_); mccRealInit(RM71_); mccRealInit(RM72_); mccRealInit(RM73_); mccRealInit(RM74_); mccRealInit(RM75_); mccRealInit(RM76_); mccRealInit(RM77_); mccRealInit(RM78_); mccRealInit(RM79_); mccRealInit(RM80_); mccRealInit(RM81_); mccRealInit(RM82_); mccRealInit(RM83_); mccRealInit(RM84_); mccRealInit(RM85_); mccRealInit(RM86_); mccRealInit(RM87_); mccRealInit(RM88_); mccRealInit(RM89_); mccRealInit(RM90_); mccRealInit(RM91_); mccRealInit(RM92_); mccRealInit(RM93_); mccRealInit(RM94_); mccRealInit(RM95_); mccRealInit(RM96_); mccRealInit(RM97_); mccRealInit(RM98_); mccRealInit(RM99_); mccRealInit(RM100_); mccRealInit(RM101_); mccRealInit(RM102_); /* % Pre-allocating all of the parameters. */ /* Cls = []; */ mccCreateEmpty(&Cls); /* Cld = []; */ mccCreateEmpty(&Cld); /* Ca = []; */ mccCreateEmpty(&Ca); /* Cv = []; */ mccCreateEmpty(&Cv); /* Crs = []; */ mccCreateEmpty(&Crs); /* Crd = []; */ mccCreateEmpty(&Crd); /* Cpa = []; */ mccCreateEmpty(&Cpa); /* Cpv = []; */ mccCreateEmpty(&Cpv); /* Qlo = []; */ mccCreateEmpty(&Qlo); /* Qao = []; */ mccCreateEmpty(&Qao); /* Qvo = []; */ mccCreateEmpty(&Qvo); /* Qro = []; */ mccCreateEmpty(&Qro); /* Qpao = []; */ mccCreateEmpty(&Qpao); /* Qpvo = []; */ mccCreateEmpty(&Qpvo); /* Rl = []; */ mccCreateEmpty(&Rl); /* Ra = []; */ mccCreateEmpty(&Ra); /* Rv = []; */ mccCreateEmpty(&Rv); /* Rr = []; */ mccCreateEmpty(&Rr); /* Rpa = []; */ mccCreateEmpty(&Rpa); /* Rpv = []; */ mccCreateEmpty(&Rpv); /* Qtot = []; */ mccCreateEmpty(&Qtot); /* F = []; */ mccCreateEmpty(&F); /* Qlmax = []; */ mccCreateEmpty(&Qlmax); /* Qrmax = []; */ mccCreateEmpty(&Qrmax); /* Ppa = []; */ mccCreateEmpty(&Ppa); /* Pa = []; */ mccCreateEmpty(&Pa); /* Pv = []; */ mccCreateEmpty(&Pv); /* Plmax = []; */ mccCreateEmpty(&Plmax); /* Prmax = []; */ mccCreateEmpty(&Prmax); /* Pms = []; */ mccCreateEmpty(&Pms); /* Qfrs = []; */ mccCreateEmpty(&Qfrs); /* againr = []; */ mccCreateEmpty(&againr); /* bgain = []; */ mccCreateEmpty(&bgain); /* pgain = []; */ mccCreateEmpty(&pgain); /* Pasp = []; */ mccCreateEmpty(&Pasp); /* Pratrsp = []; */ mccCreateEmpty(&Pratrsp); /* Tr = []; */ mccCreateEmpty(&Tr); /* fcp = []; */ mccCreateEmpty(&fcp); /* Sa = []; */ mccCreateEmpty(&Sa); /* stdwr = []; */ mccCreateEmpty(&stdwr); /* stdwf = []; */ mccCreateEmpty(&stdwf); /* dgainp = []; */ mccCreateEmpty(&dgainp); /* dgains = []; */ mccCreateEmpty(&dgains); /* againq = []; */ mccCreateEmpty(&againq); /* cgainr = []; */ mccCreateEmpty(&cgainr); /* cgainq = []; */ mccCreateEmpty(&cgainq); /* cgainfp = []; */ mccCreateEmpty(&cgainfp); /* Sc = []; */ mccCreateEmpty(&Sc); /* Qt = []; */ mccCreateEmpty(&Qt); /* Pvs = []; */ mccCreateEmpty(&Pvs); /* Crds = []; */ mccCreateEmpty(&Crds); /* Pas = []; */ mccCreateEmpty(&Pas); /* Pvc = []; */ mccCreateEmpty(&Pvc); /* again = []; */ mccCreateEmpty(&again); /* againc = []; */ mccCreateEmpty(&againc); /* cgainc = []; */ mccCreateEmpty(&cgainc); /* againfs = []; */ mccCreateEmpty(&againfs); /* cgainfs = []; */ mccCreateEmpty(&cgainfs); /* againfp = []; */ mccCreateEmpty(&againfp); /* Qfr = []; */ mccCreateEmpty(&Qfr); /* Qds = []; */ mccCreateEmpty(&Qds); /* Rair = []; */ mccCreateEmpty(&Rair); /* Clu = []; */ mccCreateEmpty(&Clu); /* Qluo = []; */ mccCreateEmpty(&Qluo); /* window = []; */ mccCreateEmpty(&window); /* annotations = []; */ mccCreateEmpty(&annotations); /* numerics = []; */ mccCreateEmpty(&numerics); /* alpha = []; */ mccCreateEmpty(&alpha); /* step = []; */ mccCreateEmpty(&step); /* % Reading in each of the values of each of the above parameters */ /* % from the input file according to the prescribed format of the */ /* % file. */ /* line = fgetl(inputfileid); */ mccFixInternalMatrix( &(rhs_[0]), mccTempMatrix(inputfileid, 0., mccINT, 0 ), 0 ); mccImport(&line, (mxArray *) mlfFgetl( &(rhs_[0])), 1, 93); mccFreeMlfRhs( rhs_, 1); /* while (strcmp(line,'%%%END OF FILE%%%') == 0) */ while (1) { if (!((mccStrcmp(&line, &S276_) == 0))) break; /* if (isempty(findstr(line,'%')) == 1) */ mccFindstr(&IM0_, &line, &S277_); B0_ = mccIsEmpty(&IM0_); B1_ = (B0_ == 1); if ((double)B1_) { /* if (isempty(line) == 1) */ B1_ = mccIsEmpty(&line); B0_ = (B1_ == 1); if ((double)B0_) { /* ; */ } else { /* elseif (isempty(findstr(line,':')) == 1) */ mccFindstr(&IM0_, &line, &S278_); B0_ = mccIsEmpty(&IM0_); B1_ = (B0_ == 1); if ((double)B1_) { /* ; */ } else { /* else */ /* index = findstr(line,':'); */ mccFindstr(&IM0_, &line, &S279_); index = ((int)mccIPR(&IM0_)[(1-1)]); /* tstr = char(line(1:index-1)); */ { int i_, j_; int m_=1, n_=1, cx_ = 0; int *p_IM1_; int I_IM1_=1; int *p_line; int I_line=1; m_ = mccCalcSubscriptDimensions(m_, &n_, 1, ((int)((index - 1) - 1) + 1), &line); mccAllocateMatrix(&IM1_, m_, n_); I_IM1_ = (mccM(&IM1_) != 1 || mccN(&IM1_) != 1); p_IM1_ = mccIPR(&IM1_); I_line = (mccM(&line) != 1 || mccN(&line) != 1); p_line = mccIPR(&line) + ((int)(1 - .5)); if (m_ != 0) { for (j_=0; j_ * S437_ * S438_ * S439_ * S440_ * alpha real scalar * beta real scalar * c real scalar * c1 real scalar * conserve_vol_ * d real scalar * d1 real scalar * dEl real scalar * dEr real scalar * denb real scalar * denb1 real scalar * exp * kscale integer scalar * reallog * sumdeltaT real vector/matrix * th real vector/matrix * var_cap * x0 real scalar * xlvol real scalar * xrvol real scalar * zeros *******************************************************/ static void conserve_vol_(mxArray *P_PP_, mxArray *th_P_, mxArray *sumdeltaT_P_, mxArray *Q_P_, double Pth ) { mxArray P; double xlvol = 0.0; double El = 0.0; double dEl = 0.0; double alpha = 0.0; double x0 = 0.0; int kscale = 0; double c1 = 0.0; double d1 = 0.0; double denb1 = 0.0; double beta = 0.0; double c = 0.0; double d = 0.0; double denb = 0.0; double xrvol = 0.0; double Er = 0.0; double dEr = 0.0; mxArray IM0_; mxArray IM1_; mxArray IM2_; mxArray IM3_; double R0_ = 0.0; mccRealInit(P); mccIntInit(IM0_); mccIntInit(IM1_); mccIntInit(IM2_); mccIntInit(IM3_); /* % Pre-allocating memory for function output. */ /* P = zeros(6,1); */ mccZerosMN(&P, 6, 1); /* % Adjusting pressure to conserve volume in systemic and pulmonary compartments. */ /* P([2 3 5 6]) = ((Q([2 3 5 6])-th([10 11 13 14]))./th([3 4 7 8])) + [0; 0; 1; 1]*Pth; */ mccFindIndex(&IM1_, &S437_); mccFindIndex(&IM2_, &S438_); mccFindIndex(&IM3_, &S439_); mccFindIndex(&IM0_, &S436_); { int i_, j_; int m_=1, n_=1, cx_ = 0; double *p_P; int *p_IM0_; int I_IM0_=1; double *p_Q; int *p_IM1_; int I_IM1_=1; double *p_th; int *p_IM2_; int I_IM2_=1; double *p_1th; int *p_IM3_; int I_IM3_=1; int *p_S440_; int I_S440_=1; m_ = mccCalcSubscriptDimensions(m_, &n_, mccM(&IM1_), mccN(&IM1_), Q_P_); m_ = mccCalcSubscriptDimensions(m_, &n_, mccM(&IM2_), mccN(&IM2_), th_P_); m_ = mccCalcSubscriptDimensions(m_, &n_, mccM(&IM3_), mccN(&IM3_), th_P_); m_ = mcmCalcResultSize(m_, &n_, mccM(&S440_), mccN(&S440_)); if (m_ == 1 && n_ == 1) m_ = mccCalcSubscriptDimensions(m_, &n_, mccM(&IM0_), mccN(&IM0_), &P); I_IM0_ = (mccM(&IM0_) != 1 || mccN(&IM0_) != 1); p_IM0_ = mccIPR(&IM0_); I_IM1_ = (mccM(&IM1_) != 1 || mccN(&IM1_) != 1); p_IM1_ = mccIPR(&IM1_); I_IM2_ = (mccM(&IM2_) != 1 || mccN(&IM2_) != 1); p_IM2_ = mccIPR(&IM2_); I_IM3_ = (mccM(&IM3_) != 1 || mccN(&IM3_) != 1); p_IM3_ = mccIPR(&IM3_); I_S440_ = (mccM(&S440_) != 1 || mccN(&S440_) != 1); p_S440_ = mccIPR(&S440_); if (m_ != 0) { for (j_=0; j_ * S442_ * S443_ * S444_ * S445_ * S446_ * abs * baro real scalar * breathing real scalar * df real scalar * difference integer vector/matrix * dncm real scalar * dra real scalar * five real vector/matrix * flag real vector/matrix * four real vector/matrix * max * one real vector/matrix * param_change_ * preparation real scalar * six real vector/matrix * th real vector/matrix * thold real vector/matrix * three real vector/matrix * two real vector/matrix *******************************************************/ static void param_change_(mxArray *difference_PP_, mxArray *th_P_, mxArray *thold_P_, mxArray *flag_P_ ) { mxArray difference; double preparation = 0.0; double breathing = 0.0; double dncm = 0.0; double baro = 0.0; double dra = 0.0; double df = 0.0; mxArray one; mxArray two; mxArray three; mxArray four; mxArray five; mxArray six; mxArray IM0_; mxArray IM1_; mxArray IM2_; mxArray IM3_; mxArray IM4_; mxArray IM5_; mxArray IM6_; mxArray IM7_; mxArray IM8_; mxArray IM9_; mxArray IM10_; mxArray IM11_; mxArray RM0_; mxArray RM1_; mxArray IM12_; mxArray IM13_; mxArray IM14_; mxArray IM15_; mxArray IM16_; mxArray IM17_; mxArray IM18_; mxArray IM19_; mxArray IM20_; mxArray IM21_; mxArray IM22_; mxArray IM23_; mxArray IM24_; mxArray IM25_; mxArray IM26_; mxArray IM27_; mxArray IM28_; mxArray IM29_; mxArray IM30_; mxArray IM31_; mxArray RM2_; mxArray RM3_; mxArray RM4_; mxArray BM0_; mccIntInit(difference); mccRealInit(one); mccRealInit(two); mccRealInit(three); mccRealInit(four); mccRealInit(five); mccRealInit(six); mccIntInit(IM0_); mccIntInit(IM1_); mccIntInit(IM2_); mccIntInit(IM3_); mccIntInit(IM4_); mccIntInit(IM5_); mccIntInit(IM6_); mccIntInit(IM7_); mccIntInit(IM8_); mccIntInit(IM9_); mccIntInit(IM10_); mccIntInit(IM11_); mccRealInit(RM0_); mccRealInit(RM1_); mccIntInit(IM12_); mccIntInit(IM13_); mccIntInit(IM14_); mccIntInit(IM15_); mccIntInit(IM16_); mccIntInit(IM17_); mccIntInit(IM18_); mccIntInit(IM19_); mccIntInit(IM20_); mccIntInit(IM21_); mccIntInit(IM22_); mccIntInit(IM23_); mccIntInit(IM24_); mccIntInit(IM25_); mccIntInit(IM26_); mccIntInit(IM27_); mccIntInit(IM28_); mccIntInit(IM29_); mccIntInit(IM30_); mccIntInit(IM31_); mccRealInit(RM2_); mccRealInit(RM3_); mccRealInit(RM4_); mccBoolInit(BM0_); /* % Assigning status variables. */ /* preparation = flag(1); */ preparation = (mccPR(flag_P_)[(1-1)]); /* breathing = flag(2); */ breathing = (mccPR(flag_P_)[(2-1)]); /* dncm = flag(3); */ dncm = (mccPR(flag_P_)[(3-1)]); /* baro = flag(4); */ baro = (mccPR(flag_P_)[(4-1)]); /* dra = flag(5); */ dra = (mccPR(flag_P_)[(5-1)]); /* df = flag(7); */ df = (mccPR(flag_P_)[(7-1)]); /* % Checking if any relevant parameters of the pulsatile heart and */ /* % circulation (intact (nominal), heart-lung unit, systemic circulation */ /* % preparations) were updated. */ /* if (preparation == 0) */ if (( (preparation == 0) && !mccREL_NAN(preparation) )) { /* one = max(abs(th([1:27 31:32 91 98])-thold([1:27 31:32 91 98]))); */ mccIntColon2(&IM0_, 1, 27); mccIntColon2(&IM1_, 31, 32); mccCatenateColumns(&IM2_, &IM0_, &IM1_); mccCatenateColumns(&IM3_, &IM2_, mccTempMatrix(91, 0., mccINT, 0 )); mccCatenateColumns(&IM4_, &IM3_, mccTempMatrix(98, 0., mccINT, 0 )); mccFindIndex(&IM5_, &IM4_); mccIntColon2(&IM6_, 1, 27); mccIntColon2(&IM7_, 31, 32); mccCatenateColumns(&IM8_, &IM6_, &IM7_); mccCatenateColumns(&IM9_, &IM8_, mccTempMatrix(91, 0., mccINT, 0 )); mccCatenateColumns(&IM10_, &IM9_, mccTempMatrix(98, 0., mccINT, 0 )); mccFindIndex(&IM11_, &IM10_); { int i_, j_; int m_=1, n_=1, cx_ = 0; double *p_RM0_; int I_RM0_=1; double *p_th; int *p_IM5_; int I_IM5_=1; double *p_thold; int *p_IM11_; int I_IM11_=1; m_ = mccCalcSubscriptDimensions(m_, &n_, mccM(&IM5_), mccN(&IM5_), th_P_); m_ = mccCalcSubscriptDimensions(m_, &n_, mccM(&IM11_), mccN(&IM11_), thold_P_); mccAllocateMatrix(&RM0_, m_, n_); I_RM0_ = (mccM(&RM0_) != 1 || mccN(&RM0_) != 1); p_RM0_ = mccPR(&RM0_); I_IM5_ = (mccM(&IM5_) != 1 || mccN(&IM5_) != 1); p_IM5_ = mccIPR(&IM5_); I_IM11_ = (mccM(&IM11_) != 1 || mccN(&IM11_) != 1); p_IM11_ = mccIPR(&IM11_); if (m_ != 0) { for (j_=0; j_10e-8); */ mccCatenateColumns(&RM0_, &one, &two); mccCatenateColumns(&RM1_, &RM0_, &three); mccCatenateColumns(&RM2_, &RM1_, &four); mccCatenateColumns(&RM3_, &RM2_, &five); mccCatenateColumns(&RM4_, &RM3_, &six); { int i_, j_; int m_=1, n_=1, cx_ = 0; unsigned short *p_BM0_; int I_BM0_=1; double *p_RM4_; int I_RM4_=1; m_ = mcmCalcResultSize(m_, &n_, mccM(&RM4_), mccN(&RM4_)); mccAllocateMatrix(&BM0_, m_, n_); I_BM0_ = (mccM(&BM0_) != 1 || mccN(&BM0_) != 1); p_BM0_ = mccSPR(&BM0_); I_RM4_ = (mccM(&RM4_) != 1 || mccN(&RM4_) != 1); p_RM4_ = mccPR(&RM4_); if (m_ != 0) { for (j_=0; j_ 10e-8) && !mccREL_NAN(*p_RM4_) ); } } } } mccMax(&difference, &BM0_); mccCopy(difference_PP_, &difference ); mccFreeMatrix(&difference); mccFreeMatrix(&one); mccFreeMatrix(&two); mccFreeMatrix(&three); mccFreeMatrix(&four); mccFreeMatrix(&five); mccFreeMatrix(&six); mccFreeMatrix(&IM0_); mccFreeMatrix(&IM1_); mccFreeMatrix(&IM2_); mccFreeMatrix(&IM3_); mccFreeMatrix(&IM4_); mccFreeMatrix(&IM5_); mccFreeMatrix(&IM6_); mccFreeMatrix(&IM7_); mccFreeMatrix(&IM8_); mccFreeMatrix(&IM9_); mccFreeMatrix(&IM10_); mccFreeMatrix(&IM11_); mccFreeMatrix(&RM0_); mccFreeMatrix(&RM1_); mccFreeMatrix(&IM12_); mccFreeMatrix(&IM13_); mccFreeMatrix(&IM14_); mccFreeMatrix(&IM15_); mccFreeMatrix(&IM16_); mccFreeMatrix(&IM17_); mccFreeMatrix(&IM18_); mccFreeMatrix(&IM19_); mccFreeMatrix(&IM20_); mccFreeMatrix(&IM21_); mccFreeMatrix(&IM22_); mccFreeMatrix(&IM23_); mccFreeMatrix(&IM24_); mccFreeMatrix(&IM25_); mccFreeMatrix(&IM26_); mccFreeMatrix(&IM27_); mccFreeMatrix(&IM28_); mccFreeMatrix(&IM29_); mccFreeMatrix(&IM30_); mccFreeMatrix(&IM31_); mccFreeMatrix(&RM2_); mccFreeMatrix(&RM3_); mccFreeMatrix(&RM4_); mccFreeMatrix(&BM0_); return; } #ifdef __cplusplus } #endif