MVP中使用数学表达式算子进行变量计算,支持四则运算、三角函数等常用数学公式。
配置编辑界面:
有输入输出参数的名称、值、类型、
但是在没有添加输入输出变量时,此处并不能设置任何参数,只能用来看。
设置了输入输出参数后,可以在这个界面编辑一些变量的值。
可右键数学表达式算子
添加输入变量
配置输入变量的名称、类型、取值范围、提示,弹出添加输入变量框,输入参数名称必须以”in”开头,并至少输入一个额外字符。
取值范围可以不管,提示可以不写。(根据自己的需求来写即可)
添加输出变量
即可添加输出变量,配置名称、类型、提示、表达式(支持四则运算,支持一般的数学函数,
弹出添加输出变量框,输出参数名称必须以”out”开头,并至少输入一个额外字符。取值范围暂不用关心。将鼠标移到这一个输入框中即可看到具体有哪些支持的数学函数类型)
数学表达式算子可以自己创建输入和输出参数,通过自定义表达式进行数学运行。
目前仅支持Int、Real、Bool三种数据类型,目前数学表达式所支持的输入如下:
1、二元运算符:加减乘除(+-*/)、相等(==)不相等(!=)、大于(>)、小于(<)逻辑与(&&)、逻辑或(||),,赋值运算符(=)
2、三元运算符:条件表达式(?:)
3、数学函数:sqrtx(开平方)、atan(反正切)、acos(反余弦)、asin(反正弦)、tanx(正切函数)、cosx(余弦)、sinx(正弦)、degrees(弧度转角度)、radians(角度转弧度)、abs(绝对值),三角函数输入和输出为角度。
当在数学表达式的表达式输入框键入的第一个字符为支持的函数首字母时会自动给出智能提示指示第一个匹配的函数,如输入s则会自动显示sinx。
其他:
已添加好的输入参数,空格,小括号,常量(如需使用bool类型常量请使用(1==1)作为true,1==0)作为false)
部分支持运算符和函数使用的示例如下:
(1)相等性运算符用于判断两个值是否相等,结果为bool类型:(2!=3) -> true
(2)逻辑运算符用于对多个bool值判断得出一个新的结果,也是bool类型,优先级为从左到右。
&& 表示当左右两个值都为true时,输出为true,否则输出false。|| 表示只要左右有true值,结果就为true,只有左右都为false时结果才为false。
(1==0) && (1==1) -> false
(1==0) || (1==1) -> true
(1==1) && (1==1) || (0==1) -> true
(1==0) || (1>2) || (1==1) && (1==1) -> true
条件表达式(?:)用于根据bool类型的不同值执行不同的运算语句。格式如下:
判断条件 ?判断条件为true时使用的语句:判断条件为false时使用的语句
两边结果类型应保持一致。为避免优先级问题,实际应用建议使用()?():()的形式。例如:
(1==1)?(2):(3) -> 2
(1==0)?(2):(3) -> 3
(1==0 || 1==1)?(2.1):(3.2) -> 2.1
(2>2)?(1==1):(1==0) -> false
部分数学函数使用示例如下:
sqrtx(9) -> 3
sinx(45) -> 0.707
radians(180) -> 3.14159265
abs(-3.14) -> 3.14
心得体会:
“数学表达式”这个算子,可以进行一些简单的运算和逻辑判断。在进行一些逻辑运算时,可以用来输出一些判断性的标志,可用于作为其他逻辑控制模块的开关信号。例如给分支模块做分支判断的信号。
不适合用来作复杂的运算和复杂的逻辑判断。