如何正确地将值替换为 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
对您不起作用,我们可以尝试其他方法。
我根据 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
对您不起作用,我们可以尝试其他方法。