SimTalk常用函数介绍(四):数学运算相关函数
算术运算符:
算数运算符在 SimTalk 1.0 和 SimTalk 2.0 不同,使用时注意版本。
取整:
SimTalk 1.0:n := 17 // 5 /* n=3,双斜线 “//” 在SimTalk 2.0中为注释 */
SimTalk 2.0:n := 17 div 5 /* n=3 */
取余:
SimTalk 1.0:n := 17 \\ 5 /* n=2 */
SimTalk 2.0:n := 17 mod 5 /* n=2 */
m := 6.123 mod 2.5 /* m=1.123 ,mod适用于浮点型数据 */
基础数学运算函数:
abs(x) :绝对值
ceil(x) :向上取整
exp(x) :e的x次方
floor(x) :向下取整
log(x) :自然对数
log10(x) :以10为底的对数
max(x,y) :最大值
min(x,y) :最小值
pow(x,y) :x的y次方
round(x,y) :将x保留y位小数,y为空时保留到整数
sqrt(x) :平方根
三角函数:
支持:acos(x), asin(x), atan(x), cos(x), sin(x), tan(x)
常用随机数:
z_uniform(Stream:<integer>,Start:<real>,Stop:<real>)
生成均匀分布的随机数。
示例:z_uniform(1, 0, 5) /* 生成0-5的均匀分布实数型随机数。Stream出可以任意填写一个正整数,一般填写1 */
z_normal(Stream:<integer>,Mu:<time>,Sigma:<time>[,LowerBound:<real>,UpperBound:<real>])
生成均匀分布的随机数。
示例:z_normal(1, 2.5, 0.5, 1.5, 3.5) /* 生成正态分布实数型随机数,均值为2.5,标准差为0.5,下限为1.5,上限为3.5,上下限可以不填。Stream出可以任意填写一个正整数,一般填写1 */
怎么区分1.0和2.0?
Plant Simulation 13以下为SimTalk 1.0 ,以上(包括13)兼容 SimTalk 1.0 和 SimTalk 2.0 默认为 SimTalk 2.0