如何正确地将值替换为 wxMaxima 中公式中使用的变量?

How to properly substitute a value to the variable used in formula in wxMaxima?

我根据 wxMaxima 中一个点的运动方程计算了一个速度向量及其模数:

x:3*sin(4*t);
y:2*cos(4*t);
r:[x,y];
v:diff(r,t,1);
v_mod:sqrt(v.v);

现在我想计算 t=5 时的速度。我怎样才能做到这一点?当我在各处添加 (t):= 时,如下所示:

x(t):=3*sin(4*t);
y(t):=2*cos(4*t);
r(t):=[x(t),y(t)];
v(t):=diff(r(t),t,1);
v_mod(t):=sqrt(v(t).v(t));

然后在末尾添加这一行:

v_mod(5);

我收到以下错误:

diff: second argument must be a variable; found 5

我做错了什么?

问题是,当您说 v(5) 时,您得到的是 diff(<something>, 5) 而 Maxima 对此表示不满。

尝试 v(t) := at(diff(r(u), u), u = t)——即微分虚拟变量 u,然后计算 u 处的导数等于参数 t.

还有其他方法可以解决这个问题。如果 at 对您不起作用,我们可以尝试其他方法。