Mathematica 9 is now available
Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2000
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2000

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Lorenz system

  • To: mathgroup at smc.vnet.net
  • Subject: [mg23861] Re: Lorenz system
  • From: Brian Higgins <bghiggins at ucdavis.edu>
  • Date: Mon, 12 Jun 2000 01:17:55 -0400 (EDT)
  • References: <8hssdk$dd3@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

Winston,

There seems to be several difficulties with the problem you posed
in your message to the Math group.
First , the problem is not mathematically well posed. The coupling
that you have indicated is not closed in the sense that the n-th
equation requires information about the n-1 and n+1 equations.
Thus if I take n=1, the ODE equation for x[t][1] requires knowledge
about x[t][0], which is not defined. Likewise, for n=N the ODE for
y[t][N] requires knowledge of y[t][N+1]. It seems that you need
some auxilliary equations! Perhaps I am missing something!

In addition, there are several Mathematica programming
problems. Here are the obvious:

(i) Since you specify init1, init2 etc. in the function call you cannot
specify init1[[1]] in your program. Mathematica assumes init1
within the module is a list.
(ii)  The variables k1,k2,k3 in the function call do not pattern match
anything in the Module : replace d1,d2,d3 in the module with
ki,k2,k3.
(iii) The code {N,0,48} in the module does not seem to do
anything. I suspect that within NDSolve you want to have

NDSolve[Flatten[Table[eqns,{N,0,N1}]],....

where egns are your ODEs and N1 identifies the number of
coupled Lorenz equations . If this is the case you must then
specify N1 in the function call rather that N.

Hope this helps you get started.

Cheers,
Brian


 In article <8hssdk$dd3 at smc.vnet.net>,
  Winston Garira <uceswga at ucl.ac.uk> wrote:
> Hi,
>
> 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_, init2_, init3_ ,N_, time_, k1_, k2_, k3_, {a_, b_,
c_}]:=
> Module[{},
>      {N,0,48} ;
>   lorenz=NDSolve[{
> 	  x'[t][N]+a*(y[t][N]-x[t][N])+ d1*(x[t][N-1]-2 x[t][N] + x[t][N])==0,
> 	  y'[t][N]+b*x[t][N]-y[t][N]-x[t][N] y[t][N] + d2*(y[t][N-1]-2
y[t][N]+y[t][N+1])==0,
> 	  z'[t][N]-c*z[t][N] +z[t][N] y[t][N] + d3 *(z[t][N-1]-2
z[t][N]+z[t][N+1])==0,
>   x[0][N]==init1[[1]],
>   y[0][N]==init2[[2]],
>   z[0][N]==init3[[3]]},
>   {x[N], y[N], z[N]},
>   {t,0,time}, MaxSteps->200000];
>   x[t_][N] := Evaluate[x[t][N] /. lorenz];
>   y[t_][N]:= Evaluate[y[t][N] /. lorenz];
>   z[t_][N] := Evaluate[z[t][N] /. lorenz];
> 	];
>
>   a=10; b=27; c=8/3;
>
>   Lorenzs[{0.7,0.3,-1.5}, N, 5000, 15.6, 8.8, 5.9, {a,b,c}];
>   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]}];
>
>


Sent via Deja.com http://www.deja.com/
Before you buy.


  • Prev by Date: Re: Pattern Matching
  • Next by Date: Re: Pattern Matching
  • Previous by thread: Lorenz system
  • Next by thread: Compiled