System of lorenz equations
- To: mathgroup at smc.vnet.net
- Subject: [mg23896] System of lorenz equations
- From: Winston Garira <uceswga at ucl.ac.uk>
- Date: Thu, 15 Jun 2000 00:51:36 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
Hello, I am just a newcomer to Mathematica. Iam not sure of what is wrong. Can someone help me. I am trying to solve a system of 48 Lorenz equations which are diffusively coupled. In the system of equations, k1, k2, and k3 are the coupling strengths (constants) which in this case I gave the values k1=15.6, k2=8.8 and k3=5.9. In the system a, b, and c are also constants and I assigned them values a=10, b=27, and c=8/3. I used initial conditions x[0]=0.7, y[0]=0.3 and z[0]=-1.5. N (is integer) represents the N th lorenz system and so it has values from 0 to 48. In the notebook below in which I tried to plot the N=21 Lorenz system I just got the error that x[t][21], y[t][21], z[t][21] are not real numbers. Thank you Winston Lorenzs[init1_, i_,time_, k1_, k2_, k3_, {a_, b_, c_, N_}]:= Module[{}, lorenz=NDSolve[{ Flatten[Table[eqns, {i,0,N}]]; if (i==0) { (* when working with the first lorenz system *) x'[t][i]+a*(y[t][i]-x[t][i])+ k1*(x[t][1]-2 x[t][0] )==0, y'[t][i]+b* x[t][i]-y[t][]-x[t][i] y[t][i] + k2*(y[t][1]-2 y[t][0])==0, z'[t][i]-c* z[t][i] +z[t][i] y[t][i] + k3 *(z[t][1]-2 z[t][0])==0}, else if (i==N-1) { (* when working with the last lorenz system *) x'[t][i]+a*(y[t][i]-x[t][i])+ k1*(x[t][N-2]- x[t][N-1] )==0, y'[t][i]+b* x[t][i]-y[t][]-x[t][i] y[t][i] + k2*(y[t][N-2]- y[t][N-1])==0, z'[t][i]-c* z[t][i] +z[t][i] y[t][i] + k3 *(z[t][N-2]-2z[t][N-1])==0}, else { (* when working with the lorenz system in middle *) x'[t][i]+a*(y[t][i]-x[t][i])+ k1*(x[t][i-1]-2 x[t][i] + x[t][i])==0, y'[t][i]+b* x[t][i]-y[t][]-x[t][i] y[t][i] + k2*(y[t][i-1]-2 y[t][i]+y[t][i+1])==0, z'[t][i]-c* z[t][i] +z[t][i] y[t][i] + k3 *(z[t][i-1]-2 z[t][i]+z[t][i+1])==0}, x[0][0]==init1[[1]], y[0][0]==init1[[2]], z[0][0]==init1[[3]]}, {x[i], y[i], z[i]}, {t,0,time}, MaxSteps->200000]; x[t_][i] := Evaluate[x[t][i] /. lorenz]; y[t_][i]:= Evaluate[y[t][i] /. lorenz]; z[t_][i] := Evaluate[z[t][i] /. lorenz]; ]; a=10; b=27; c=8/3; N=48; Lorenzs[{0.7,0.3,-1.5}, 5000,15.6,8.8,5.9, {a,b,c,N}]; Plot[{x[t][21], y[t][21], z[t][21]}, {t,0,600}, PlotStyle->[Rule]{RGBColor[1,0,0.3],RGBColor[0,0.5,1],RGBColor[1,0,0.3]}];