Attrattore di Lorenz

Frattale di Lorenz

Si tratta di un frattale, spesso chiamato anche farfalla di Lorenz, in relazione al suo famoso effetto farfalla.


Usata con permesso.
Copyright 1996, James P. Crutchfield. Tutti i diritti riservati.
Se osserviamo il formarsi del frattale, vediamo un curva che, pur avvolgendosi continuamente su se stessa, non si interseca mai (ricordiamo che di tratta di una curva tridimensionale), e dunque non ha mai uno stato perfettamente uguale a se stessa; passa da un´ala all´altra dell´attrattore mantendosi entro un confine prestabilito.
Si dimostra inoltre una spiccata sensibilità alle condizioni iniziali: cliccate nella finestra a fianco per avviare il movimento a partire da una certa posizione, quindi cliccate in un punto molto vicino al precedente: vedrete che all´inizio le traiettorie restano molto vicine, ma in seguito le piccole differenze di posizione si amplificano fino a diventare ben distanti le une dalle altre... e questo anche se le traiettorie restano sempre all´interno dell´attrattore.
[Potete scaricare questa applet per scopi di informazione personale, educativi o comunque non commerciali, accludendo la dicitura Copyright 1996, James P. Crutchfield. Tutti i diritti riservati.]
Anche piccole pertubazioni diventano così significative da causare imprevedibili effetti nell’evoluzione futura del sistema: ecco un modello, seppur estremamente semplificato, della situazione metereologica, dal quale si evince come siano pressoché impossibili, ad esempio, le previsioni metereologiche a distanza maggiore di una settimana, stabilito che la conoscenza delle condizioni di partenza non è certo esatta al 100%.
influenzare irrimediabilmente l´esattezza delle previsioni.


Immagine tratta da wikipedia
Lorenz si era ispirato al tipo più semplice di convezione (figura a sinistra), quello che ha luogo in una cella di fluido a forma di scatola riscaldata nella parte inferiore e raffreddata in quella superiore.

Quando un fluido viene riscaldato dal basso, tende a disporsi su celle cilindriche: il fluido caldo sale da un lato, si raffredda, e scende dall´altro.
Quando il calore aumenta ha inizio un´instabilità finché il flusso diventa irregolare e turbolento.

Lorenz descrisse il flusso attraverso tre equazioni differenziali:

x, y e z sono variabili, delle quali x è legata all´intensità del fluido mente y e z sono collegate alla differenza di temperatura; esse sono funzioni del tempo t: potremmo scrivere x = f1(t), y = f2(t), z = f3(t); σ, ρ e β sono invece parametri, cioé, nel singolo caso, sono costanti. Lorenz pose σ= 10, ρ = 28, β = 8/3.

Approfondimento su WolframMathWorld e su Lorenz equation

I simboli dx/dt, dy/dt, dz/dt rappresentano rispettivamente il tasso istantaneo di variazione delle variabili x, y e z rispetto al tempo t.

Ovviamente dovremo anche esplicitare un valore iniziale per x, y e z: poniamo, ad esempio, x0 = 10, y0 = 20, z0 = 20.
Visto che le tre equazioni non sono risolubili l´idea è quella di usare un metodo di approssimazione e quindi, invece di considerare il tempo come variabile in modo continuo, lo facciamo variare in modo discreto. Invece che calcolare dx/dt, dy/dt, dz/dt troveremo Δx/Δt, Δy/Δt, Δz/Δt.
Poniamo Δt = 0.001 ricordando che, più piccolo è Δt migliore è l´approssimazione.

Trasformiamo le equazioni: Δx = Δt (σ(y0 - x0)) x1 - x0 = Δt (σ(y0 - x0)) x1 = x0 + Δt (σ(y0 - x0))
Δy = Δt(ρ x0 - x0z0 - y0)
y1 - y0 = Δt(ρ x0 - x0z0 - y0)
y1 = y0 + Δt(ρ x0 - x0z0 - y0)
Δz = Δt (x0y0 - β z0) z1 - z0 = Δt (x0y0 - β z0) z1 = z0 + Δt (x0y0 - β z0)

Operiamo le sostituzioni: Δt = 0.001
x0 = 10
y0 = 20
z0 = 20
σ = 10
ρ = 28
β = 8/3

Al primo passaggio otteniamo: x1 = 10 + 0.001 * 10 * (20-10) = 10.100
y1 = 20 + 0.001 (28*10 - 10*20 - 20) = 20.060
z1 = 20 + 0.001(10*20 - 2.667 *20) = 20.060

Ripetiamo il procedimento ponendo, come punti di partenza, al posto di x0, y0 e z0, rispettivamente x1, y1 e z1.

Avremo: x2 = x1 + Δt (σ(y1 - x1)) = 10.200
y2 = y1 + Δt(ρ x1 - x1z1 - y1)= 20.119
z2 = z1 + Δt (x1y1 - β z1) = 20.296

Dunque dobbiamo memorizzare tutte e tre le variabili x,y,z prima di calcolare il valore successivo; infatti, come si vede dalle equazioni, ogni nuovo valore dipende dai precedenti e tutti, separatamente, dipendono dal tempo.
Conviene, naturalmente, servirci di un computer e rappresentare i valori ottenuti o nel piano x-z, o nel piano x-y, o in 3D. Sono numerosi i siti che offrono il codice, ad esempio The Lorenz Attractor in 3D di Paul Bourke, oppure Fractals in C: The Lorenz attractor, di Serge Meunier; noi ci limitiamo a presentare un programma in linguaggio di progetto.

   A = 10
   B = 28
   C = 2.667
   x = 0.1
   y = 0.2
   z = 0.2
   dt = 0.001
   tappe = 0
   maxtappe = 20000
     Ripeti
        x1 = x + dt * (-A * x + A * y)
        y1 = y + dt * (B * x - y - x * z)
        z1 = z + dt * (-C * z + x * y)
        Unisci(x,z) con (x1,z1)
         x = x1
         y = y1
         z = z1
     tappe = tappe + 1
    fino a quando tappe = maxtappe

Frattale di Lorenz nel piano x-z

Frattale di Lorenz nel piano x-y

Se volete un´immagine in 3-D, indicati rispettivamente con α β e γ gli angoli formati dagli assi x, y e z (ad esempio α = 45°, β = 0° e β = 90°), e calcolati
 
  sx = senα      sy = senβ       sz = senγ
  cx = cosα      cy = cosβ       cz = cosγ
potete rappresentare: x_s = (x * cx + y * cy + z * cz)      e      y_s = (x * sx + y * sy + z * sz)

Frattale di Lorenz - Pagina 2
 


Introduzione
Definizione

Realizzazione

Tipi di frattali
Caratteristiche
Altri frattali che dipendono da formule
Indice
Home
Contatti

©2010 www.webfract.it