I calculated a velocity vector and its module from the equations of motion of a point in wxMaxima:
x:3*sin(4*t);
y:2*cos(4*t);
r:[x,y];
v:diff(r,t,1);
v_mod:sqrt(v.v);
Now I would like to calculate the velocity for t=5. How can I do this? When I add (t) and := everywhere, like this:
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));
and then add this line at the end:
v_mod(5);
I get the following error:
diff: second argument must be a variable; found 5
What am I doing wrong here?
The problem is that when you say
v(5)
, you're gettingdiff(<something>, 5)
and Maxima is complaining about that.Try
v(t) := at(diff(r(u), u), u = t)
-- i.e., differentiate wrt a dummy variableu
, and then evaluate that derivative atu
equal to the argumentt
.There are other ways to go about it. If
at
doesn't work for you, we can try something else.