使用列表最大值评估表达式

时间:2015-04-19 08:20:40

标签: list maxima

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

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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

(%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' s)之间找到平衡点。