我希望以下最大值输入的结果是 [6,12,18],但它的结果是 2ac。谁能帮忙?
a:2;
c:[1,2,3];
b:'(a*c);
''b;
a:3;
''b;
f:'(b*2);
''f;
我认为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的想法)之间找到平衡。
你应该使用f:'(''b*2);
.这符合您的预期。