Maxima - plot2d:表达式在绘图范围内的任何地方都计算为非数字值

Maxima - plot2d: expression evaluates to non-numeric value everywhere in plotting range

我的意思是绘制一个变量的函数,它使用了一个未包含在函数参数中的参数。 现在我想 plot2d 函数,所以我的意思是为参数分配一个临时值以进行绘图。即:

  1. 分配参数值
  2. Plot2d
  3. 忘记参数值

我做的是

f(u):=a*u;
a=1;plot2d(f(u),[u,0.2,1]);

但我收到错误

plot2d: expression evaluates to non-numeric value everywhere in plotting range.
plot2d: nothing to plot.

我将如何进行?

PS:我实际上是想处理使用很多参数的函数,所以如果将它们作为参数排除是可行的,我宁愿这样做是为了方便。到目前为止,我已经 integrateing、differentiating、factoring 等,没有任何问题。

自我回答:这可能是一个愚蠢的问题(我是新手),但以防万一它能帮助别人...

f(u):=a*u;

a:1;
plot2d(f(u),[u,0.2,1]);
kill(a);

避免分配和清除:

params : [a=1];
fnew : subst(params,f(u));
plot2d(fnew,[u,0.2,1]);

其他选项由 Robert Dodier 在评论中发布。