Question: why this error happen and disappear in a same Proc?

this error message hapened,but  i try process agin ,this erro disappeared, the proce is perfect, but  then it appear agin. is this a bug?  i use maple 16.

> restart;
> with(plots);
> with(DEtools);
> pendulums := proc (L, angle, velocity, a, b, n) local i, deq, X, Y, inits, slnnf, ACF1, ACF2, ACF3, ACF4; deq := L*(diff(theta(t), `$`(t, 2)))+(diff(X(t), `$`(t, 2)))*cos(theta(t))+(diff(Y(t), `$`(t, 2))+9.81)*sin(theta(t)) = 0; inits := {theta(0) = angle, (D(theta))(0) = velocity}; X := unapply(a, t); Y := unapply(b, t); slnnf := dsolve(`union`({deq}, inits), theta(t), numeric); for i from 0 to n do pll || i := plot([[XX((1/20)*i), YY((1/20)*i)]], style = point, symbol = circle); plla || i := plot([[XX((1/20)*i), YY((1/20)*i)], [XX((1/20)*i)+L*sin(rhs(slnnf((1/20)*i)[2])), YY((1/20)*i)-L*cos(rhs(slnnf((1/20)*i)[2]))]], style = line); plbob || i := plot([[XX((1/20)*i)+L*sin(rhs(slnnf((1/20)*i)[2])), YY((1/20)*i)-L*cos(rhs(slnnf((1/20)*i)[2]))]], style = point, symbol = circle, symbolsize = 25); dat || i := [seq([XX((1/20)*j)+L*sin(rhs(slnnf((1/20)*j)[2])), YY((1/20)*j)-L*cos(rhs(slnnf((1/20)*j)[2]))], j = 0 .. i)]; plcv || i := plot(dat || i, style = point, symbol = point) end do; ACF1 := display([pll || (0 .. n)], insequence = true); ACF2 := display([plla || (0 .. n)], insequence = true); ACF3 := display([plbob || (0 .. n)], insequence = true); ACF4 := display([plcv || (0 .. n)], insequence = true); display([ACF1, ACF2, ACF3, ACF4]) end proc;
print(`output redirected...`); # input placeholder
> pendulums(2, 1, -.5, sin(2.25*t-(1/2)*Pi), cos(2*t+(1/4)*Pi), 10);

Error, (in is/internal) too many levels of recursion

 

 

Please Wait...