【问题标题】:converting logical true/false to numeric 1/0?将逻辑真/假转换为数字 1/0?
【发布时间】:2018-07-13 00:48:48
【问题描述】:

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

但在 Maxima 中没有。

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

例如,我怎样才能对函数进行条件屏蔽?

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

【问题讨论】:

    标签: type-conversion maxima predicates


    【解决方案1】:

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

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

    【讨论】:

    • 你知道“charfun”代表什么吗?这很有用,但我很难记住它,一个好的助记符将不胜感激。
    • "charfun" = "characteristic function",这是令人困惑的,因为 "characteristic function" 也意味着概率密度的傅里叶变换(可能还有其他东西)。在某个集合上为 1,否则为 0 的函数也称为“指标函数”。
    • 是的,指标可能会更好,特性在太多情况下使用,无法单独使用。嗯……也许我会在这次谈话之后记住。 :-) 谢谢。
    • 太棒了!太感谢了!这就是我一直在寻找的。看来,工程的讲述方式与亲数学家的方式非常不同,所以谷歌的所有关键词都是错误的:)
    猜你喜欢
    • 2015-07-09
    • 1970-01-01
    • 2011-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 2015-07-03
    相关资源
    最近更新 更多