/* Function: mdlCheckParameters ============================================= * Abstract: * Validate our parameters to verify they are okay. */ static void mdlCheckParameters(SimStruct *S) { /* Check 1st parameter: A-Matrix */ { if ( mxGetN(A_PARAM(S)) != NSTATES || !IS_PARAM_DOUBLE(A_PARAM(S)) ) { ssSetErrorStatus(S,"1st parameter to S-function " "\"A-Matrix\" must be square and double"); return; } } /* Check 2nd parameter: B-Matrix */ { if (mxGetM(B_PARAM(S)) != NSTATES || !IS_PARAM_DOUBLE(B_PARAM(S)) ) { ssSetErrorStatus(S,"2nd parameter to S-function " "\"B-Matrix\" is not dimensioned " "correctly"); return; } } /* Check 3rd parameter: C-Matrix */ { if (mxGetN(C_PARAM(S)) != NSTATES || !IS_PARAM_DOUBLE(C_PARAM(S)) ) { ssSetErrorStatus(S,"3rd parameter to S-function " "\"C-Matrix\" is not dimensioned " "correctly"); return; } } /* Check 4th parameter: D-Matrix */ { if (mxGetM(D_PARAM(S)) != NOUTPUTS || mxGetN(D_PARAM(S)) != NINPUTS || !IS_PARAM_DOUBLE(D_PARAM(S)) ) { ssSetErrorStatus(S,"4th parameter to S-function " "\"D-Matrix\" is not dimensioned " "correctly"); return; } } /* Check 5th parameter: X0 */ { if ( ((mxGetM(X0_PARAM(S)) != 0) && (mxGetM(X0_PARAM(S)) != NSTATES)) || !OK_EMPTY_DOUBLE_PARAM(X0_PARAM(S)) ) { ssSetErrorStatus(S,"5th parameter to S-function " "\"X0-Matrix\" is not dimensioned " "correctly"); return; } } }
/* Function: mdlCheckParameters ============================================= * Abstract: * Validate our parameters to verify they are okay. */ static void mdlCheckParameters(SimStruct *S) { /* Check 1st parameter: MAGICNUM-Matrix */ { if ( mxGetNumberOfElements(MAGICNUM_PARAM(S)) != NMAGICNUM || !IS_PARAM_DOUBLE(MAGICNUM_PARAM(S)) ) { ssSetErrorStatus(S,"1st parameter to S-function " "\"A-Matrix\" must be square and double"); return; } } /* Check 2nd parameter: X0 */ { if ( ((mxGetNumberOfElements(X0_PARAM(S)) != 0) && (mxGetNumberOfElements(X0_PARAM(S)) != NSTATES)) || !OK_EMPTY_DOUBLE_PARAM(X0_PARAM(S)) ) { ssSetErrorStatus(S,"2nd parameter to S-function " "\"X0-Matrix\" is not dimensioned " "correctly"); return; } } }