Università di Bologna - Facoltà di Ingegneria II - Sede di Forlì



Fisica Generale Interattiva

prof. Domenico Galli



Oscillatore armonico

Punto materiale soggetto soltanto a una forza elastica

Soluzione mediante il metodo di Runge-Kutta del IV ordine

Parametri e condizioni iniziali suggeriti per iniziare: Diminuendo l'intervallo si scansione migliora la precisione dei risultati.
Per avviare l'Applet "cliccare" il bottone qui sotto.

Errore: manca il plug-in Java 2 per eseguire l'applet!
Algoritmo di Runge-Kutta del IV ordine per l'oscillatore armonico:
    for(i=0;t<tMax;)
{
// algoritmo di Runge-Kutta IV ordine
k1=v*deltaT;
j1=a*deltaT;
vm1=v+j1/2;
am1=-k*(x+k1/2)/m;
k2=vm1*deltaT;
j2=am1*deltaT;
vm2=v+j2/2;
am2=-k*(x+k2/2)/m;
k3=vm2*deltaT;
j3=am2*deltaT;
vf=v+j3;
af=-k*(x+k3)/m;
k4=vf*deltaT;
j4=af*deltaT;
x=x+(k1+2*k2+2*k3+k4)/6;
v=v+(j1+2*j2+2*j3+j4)/6;
a=-k*x/m;
// fine algoritmo di Runge-Kutta IV ordine
t=t+deltaT;
i++;
if(t>tMax)break;
// se ci sono > 10000 punti, memorizza 1 punto ogni storePeriod punti
if(i%storePeriod==0)
{
lxt.add(new Point2D.Float((float)t,(float)x));
lvt.add(new Point2D.Float((float)t,(float)v));
lat.add(new Point2D.Float((float)t,(float)a));
lvx.add(new Point2D.Float((float)x,(float)v));
}
}

Indice Fisica Interattiva


February 21, 2004, Domenico Galli