<

artfin

MaplePrimes Activity


These are questions asked by artfin

Consider a simple differential equation:

f1 := t -> sin(t);
f2 := t -> cos(t);
dsys := {diff(x(t), t) = x(t)*f1(t)+f2(t), x(0) = 3};
solution_procedure := dsolve(dsys, type = numeric, output = listprocedure);

If initial condition is given like this: x(0)=3, then it compiles. But if I define x(0)=f1(3) then it gives an error:

Error, (in dsolve/numeric/process_input) invalid specification of initial conditions, got HFloat(3.0) = sin(3)

How can I handle this?

I'm trying to make 3D-animation and the procedure takes an enormous amount of time to make frames for it. It took over 10 minutes to create animation consisting of 50 frames (over t=0..1000). If I increase the number of frames or range of time, it just wouldn't reach the end of calculation (keeps evaluating till I lose patience or my faith in Maple)

Is there a way to somehow precompute data for animation (maybe store it somewhere) so that it could gather it from there and the animation construction itself would be faster?

Here's the code: ClassicalTrajectoriesH2X_harm.mw (animation is in the end of the file)

P.S. I have Asus X555LJ; Intel Core i5-5200U, 2.2GHz; 12Gb RAM, for the last few months it presented itself as a rather fast piece of machinery. 

I'm trying to numerically integrate components of the procedure-vector.

interim:=t->evalf(int(r1_lab_deriv(x)[1],x=0..t));

interim(5);

Getting this type of error:

Error, (in r1_rot_deriv) invalid input: fdiff expects its 2nd argument, N, to be of type {integer, name, list(integer), list(name), list(name = constant), set(name), set(name = constant), name = constant}, but received t = x

 A bit of googling gave me an impression that integration of procedures can be rather quirky.

File: ProcIntergration.mw (Problem occurs in the last lines of the file.)

Is it possible to create several animation windows and run them simultaneously? 

I'm feeling that the answer to this question will be no, so I explain my problem. I have an animation of rotating object and I have some quantity that relates to the rotation. I want to see the rotation of object and the propagation of the graph of the quantity simultaneously. Maybe there is a way to somehow split the plot window in two, so in the left would be the rotation animation, and in the right would be the function animation.

I'm trying to plot the lines that are based on eigenvectors of the matrix. (Functions r1(t),r2(t), q(t) are defined earlier. I can upload file if necessary)

with(LinearAlgebra):
x1:=t->-r1(t)*cos(Pi/2-q(t)/2):
y1:=t->-r1(t)*sin(Pi/2-q(t)/2):
z1:=t->0:
x2:=t->r2(t)*cos(Pi/2-q(t)/2):
y2:=t->-r2(t)*sin(Pi/2-q(t)/2):
z2:=t->0:
Ixx:=t->m*(y1(t)^2+z1(t)^2)+m*(y2(t)^2+z2(t)^2):
Iyy:=t->m*(x1(t)^2+z1(t)^2)+m*(x2(t)^2+z2(t)^2):
Izz:=t->m*(x1(t)^2+y1(t)^2)+m*(x2(t)^2+y2(t)^2):
Ixy:=t->-m*x1(t)*y1(t)-m*x2(t)*y2(t):
Ixz:=t->-m*x1(t)*z1(t)-m*x2(t)*z2(t):
Iyz:=t->-m*y1(t)*z1(t)-m*y2(t)*z2(t):

InertiaTensor:=t-><<Ixx(t),Ixy(t),Ixz(t)>|<Ixy(t),Iyy(t),Iyz(t)>|<Ixz(t),Iyz(t),Izz(t)>>:

 Here I define the matrix as a function of time. 

EV:=t->Eigenvectors(InertiaTensor(t));
V1:=t->Column(Re(EV(t)[2]),1);
V2:=t->Column(Re(EV(t)[2]),2);

Producing two eigenvectors also as functions of time.

InertiaAxis1 := t->plot(x, V1(t)[2]*x/V1(t)[1], x = -2 .. 2);
InertiaAxis2 := t->plot(x, V2(t)[2]*x/V2(t)[1], x = -2 .. 2);

InertiaAxis1(1);

And here I've got an error:

Error, (in plot) unexpected options: [-HFloat(7.378655652881484e-6)*x, x = -2 .. 2]

I tried to set "datatype=float"-option in plot function, to evaluate the coefficient by eval-function, it wouldn't help. What does this error mean exactly? 

1 2 Page 1 of 2