This document describes the syntax of the if - else boolean operator. (MML).
Prerequisites:
- Introductory Survey of MML (required)
- Introduction to the JSim GUI (recommended)
Contents:
- Syntax
- Example
- Comments or Questions?
if - else syntax
The if - else boolean operator is used only with equations that specify exact numerical relationships between variables. Arbitrary nesting of if - else operators is allowed.
if - else statements can have one of the following forms:
expr2; expr3; var, var2, var3; var = if (expr1) expr2; var2 = if (expr1) expr2 else expr3; var3 = if (expr1) expr2 else (if (expr4) expr5 else expr3);
where exprX are algebraic expression of variables, with expr1 and expr4 being of the boolean type. See Algebraic Expression Syntax for further information.
if - else example
// if else syntax: math if_else { realDomain t; t.min=0; t.max=2*PI; t.delta=0.1; real amp = 1; real phase = 0; real u(t), v(t), w(t), x(t); u = amp*sin(t-phase); v = amp*cos(t-phase); w = if (t < PI) (u + v) else (u); x = if(t > PI) (u + v) else ( if (phase > 0) u else u-v ); }
Comments or Questions?
Model development and archiving support at https://www.imagwiki.nibib.nih.gov/physiome provided by the following grants: NIH U01HL122199 Analyzing the Cardiac Power Grid, 09/15/2015 - 05/31/2020, NIH/NIBIB BE08407 Software Integration, JSim and SBW 6/1/09-5/31/13; NIH/NHLBI T15 HL88516-01 Modeling for Heart, Lung and Blood: From Cell to Organ, 4/1/07-3/31/11; NSF BES-0506477 Adaptive Multi-Scale Model Simulation, 8/15/05-7/31/08; NIH/NHLBI R01 HL073598 Core 3: 3D Imaging and Computer Modeling of the Respiratory Tract, 9/1/04-8/31/09; as well as prior support from NIH/NCRR P41 RR01243 Simulation Resource in Circulatory Mass Transport and Exchange, 12/1/1980-11/30/01 and NIH/NIBIB R01 EB001973 JSim: A Simulation Analysis Platform, 3/1/02-2/28/07.