将逻辑真/假转换为数字1/0?

时间:2018-07-13 00:48:48

标签: type-conversion maxima predicates

在大多数语言中,我可以将逻辑真值直接乘以某个数字值,或者至少有简单的函数可以将布尔类型转换为某些特定类型,例如int或double。通常,这很容易,因为“ true”或“ false”只是数字1或0的别名。

但不在Maxima中。

我也找不到任何将逻辑值转换为数字的嵌入式函数。有吗?

例如,如何对函数进行条件屏蔽?

F(x,param):=condition(x,param)*f(x),其中条件返回逻辑值,例如(x>param)->true/false

1 个答案:

答案 0 :(得分:1)

例如,您可以编写(if x > param then 1 else 0)*f(x)

您也可以写charfun(x > param)*f(x)。参见? charfun