【问题标题】:Is Math.js capable of evaluating expressions in a topological order ?Math.js 是否能够以拓扑顺序评估表达式?
【发布时间】:2014-01-02 13:29:14
【问题描述】:
math.eval(["c = b" , "a = b + c"] , {"a" : 1, "b" : 2})
[2, 4]

切换表达式的顺序,

math.eval(["a = b + c" , "c = b"] , {"a" : 1, "b" : 2})
Error: Undefined symbol c

将 c 的初始值设置为NaN

math.eval(["a = b + c" , "c = b"] , {"a" : 1, "b" : 2, c: NaN})
[NaN, 2]

math.js 是否能够按拓扑顺序计算表达式?

【问题讨论】:

    标签: javascript mathjs


    【解决方案1】:

    不,math.js 只是按顺序计算表达式。

    不过,对符号计算的支持会非常好……请参阅 github 上的 these related discussions

    【讨论】:

    • 我已经设法通过脏检查来实现这一点(这基本上是遍历表达式列表直到你没有得到新的结果)但是如果有一个底层的树结构我更感兴趣。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2013-06-30
    • 1970-01-01
    • 1970-01-01
    • 2017-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-28
    相关资源
    最近更新 更多