Here is the Rossler system, one of the simplest examples of 3 dimensional deterministic chaos (under certain conditions according to "params"). Thanks to Doug and Joe for various assists. Comments and critiques most welcome ! restart; interface(displayprecision=10): ross_x:=diff(x(t),t)=-y(t)-z(t): ross_y:=diff(y(t),t)=x(t)+a*y(t): ross_z:=diff(z(t),t)=b+x(t)*z(t)-c*z(t): rossler_sys:=ross_x,ross_y,ross_z; #Find fixed points: sol:=solve({rhs(ross_x)=0,rhs(ross_y)=0,rhs(ross_z)=0},{x(t),y(t),z(t)}): fp_sol:=solve({rhs(ross_x)=0,rhs(ross_y)=0,rhs(ross_z)=0},{x(t),y(t),z(t)}): # judicious choice of the following determines chaotic behaviour or not. params:={a=0.32,b=0.3,c=4.5}: fp_sol:=allvalues(eval(fp_sol,params)): fp1:=fp_sol[1];fp2:=fp_sol[2]; #Jacobian: J := frontend(Student:-VectorCalculus:-Jacobian, [map(rhs,[rossler_sys]), [x,y,z](t)], [{`*`,`+`,list},{}]); ev1:=LinearAlgebra[Eigenvalues](eval(J,fp1 union params)); ev2:=LinearAlgebra[Eigenvalues](eval(J,fp2 union params)); # now take a look at the orbits assign(params); DEtools[DEplot3d]({rossler_sys},{x(t),y(t),z(t)},t=50..200,[[x(0)=1,y(0)=1,z(0)=1]],scene=[x(t),y(t),z(t)],stepsize=0.05,thickness=1,linecolor=blue,orientation=[40,120]); # To do: # check eigenvectors # plot poincare return map # plot bifurcation diagram (vary b) # plot 2D or 1D orbits with differing IVPs # look at overall qualitative behaviour
Comments
Hey what happened ?
My post above seems to have lost all it's new-line-carriage-return's. Why would that happen ? I'm sure it looked OK when I posted it earlier !
I'll try again:
Here is the Rossler system, one of the simplest examples of 3 dimensional deterministic chaos (under certain conditions according to "params"). Thanks to Doug and Joe for various assists. Comments and critiques most welcome !
restart;
interface(displayprecision=10):
ross_x:=diff(x(t),t)=-y(t)-z(t):
ross_y:=diff(y(t),t)=x(t)+a*y(t):
ross_z:=diff(z(t),t)=b+x(t)*z(t)-c*z(t):
rossler_sys:=ross_x,ross_y,ross_z;
#Find fixed points:
sol:=solve({rhs(ross_x)=0,rhs(ross_y)=0,rhs(ross_z)=0},{x(t),y(t),z(t)}):
fp_sol:=solve({rhs(ross_x)=0,rhs(ross_y)=0,rhs(ross_z)=0},{x(t),y(t),z(t)}):
params:={a=0.32,b=0.3,c=4.5}:
fp_sol:=allvalues(eval(fp_sol,params)):
fp1:=fp_sol[1];fp2:=fp_sol[2];
#Jacobian:
J := frontend(Student:-VectorCalculus:-Jacobian, [map(rhs,[rossler_sys]), [x,y,z](t)], [{`*`,`+`,list},{}]);
ev1:=LinearAlgebra[Eigenvalues](eval(J,fp1 union params));
ev2:=LinearAlgebra[Eigenvalues](eval(J,fp2 union params));
# now take a look at the orbits
assign(params);
DEtools[DEplot3d]({rossler_sys},{x(t),y(t),z(t)},t=50..200,[[x(0)=1,y(0)=1,z(0)=1]],scene=[x(t),y(t),z(t)],stepsize=0.05,thickness=1,linecolor=blue,orientation=[40,120]);
#To do:
#check eigenvectors
#plot poincare return map
#plot bifurcation diagram (vary b)
#plot 2D or 1D orbits with differing IVPs
edit post
You should be able to edit the post to fix it. There's an edit button at the bottom.
with Animation
A slight mod to your worksheet to add animation.
View 221_rossler_animate.mw on MapleNet or Download 221_rossler_animate.mw
Regards,
Georgios Kokovidis
Dräger Medical
problem?
Giorgios, the animation doesn't work here (Maple13.01, standard), I haven't looked into it, is a change in the parameters required or something?.
Works
Hi PatrickT,
I have jsut tried the worksheet on Maple 13.02 (standart on WinXP) and the animation does come up with no changes to Giogios's worksheet. Could you try updating Maple 13 and check to see if the problem goes away?
Scott
Application Developer
Maplesoft
play
Thanks Scott, okay I was assuming that the animation would play automatically, but instead I had to trigger it by selecting "play" in the context menu (I don't usually do mouse clicks so it didn't occur to me to try it).
Even better, I found that by selecting the following:
I get a very intuitive "play" button at the bottom of the pop-up window. Then it doesn't take a genius to figure out that pressing play will trigger the animation. Even I was able to work it out. And this one time I overcame a certain reluctance and touched a mouse.
Cheers Scott,
Patrick.