【问题标题】:Evaluate expression using lists maxima使用列表最大值评估表达式
【发布时间】:2015-04-19 08:20:39
【问题描述】:

我希望以下最大值输入的结果为 [6,12,18],但结果为 2ac。有人可以帮忙吗?

a:2;
c:[1,2,3];
b:'(a*c);
''b;
a:3;
''b;
f:'(b*2);
''f;

【问题讨论】:

  • 进行了小幅编辑。 12ac 到 2ac

标签: list maxima


【解决方案1】:

我认为ev(f, infeval) 是您想要的。有关infeval 和其他评估标志的信息,请参阅? ev

(%i1) c : [1, 2, 3];
(%o1)                              [1, 2, 3]
(%i2) b : '(a*c);
(%o2)                                 a c
(%i3) a : 3;
(%o3)                                  3
(%i4) f : '(b*2);
(%o4)                                 2 b
(%i5) f;
(%o5)                                 2 b
(%i6) ''f;
(%o6)                                2 a c
(%i7) ev (f);
(%o7)                                2 a c
(%i8) ev (f, infeval);
(%o8)                             [6, 12, 18]

您也可以在输入提示符处将ev(f, infeval); 写成f, infeval;

也就是说,我的建议是,不要太努力地寻找棘手的方法来评估东西。写出意想不到的结果并且难以理解的东西很容易。你必须在试图让 Maxima 做你想做的事和适应 Maxima 的特质(即改变你的想法以匹配 Maxima 的)之间找到平衡。

【讨论】:

    【解决方案2】:

    您应该使用f:'(''b*2);。这可以按您的预期工作。

    【讨论】:

    • 谢谢。除了向我需要评估的每个变量添加 '' 之外,还有其他替代方法吗?
    • @TomH 我不知道它是否存在。请不要忘记投票。
    猜你喜欢
    • 1970-01-01
    • 2017-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多