Metodo di Eulero

Messaggioda mimmo1988 » 22/07/2014, 22:28

Salve,
sto studiando il metodo di Eulero per la risoluzione delle equazioni differenziali ordinarie.
Ho scelto di applicarlo all'equazione dell'oscillatore armonico forzato, per provare i suoi limiti. Questa è la famosa equazione:
\(\displaystyle Mx'' +\gamma x' + w_0 x =F cos(wt) \)
Purtroppo accade qualcosa di apparentemente strano. Se applico il metodo, fissando determinati coefficienti \(\displaystyle M,\gamma , w_0, w \), il risultato è soddisfacente (controllando l'errore tramite la soluzione analitica). Se adesso cambio sistema di riferimento (effettuo una traslazione), in modo tale che la soluzione non oscilli intorno allo zero,succede che il risultato numerico si dimostra palesemente errato solo nella fase del transiente, dopo di che l'errore si abbassa drasticamente. Non riesco a trovare coefficienti in grado di dare un risultato soddisfacente, neanche usando il metodo di Eulero-Picard (che è un metodo predictor-corrector), che dovrebbe essere più efficiente.
Secondo voi c'è un errore nell'algoritmo da me implementato?
Il cambio di sistema di riferimento, o se preferite, il cambio di variabile, l'ho effettuato in questo modo:
\(\displaystyle Mx'' +\gamma x' + w_0 (x-x_0) =F cos(wt) \)
mimmo1988
Junior Member
Junior Member
 
Messaggio: 77 di 120
Iscritto il: 23/06/2010, 18:12

Re: Metodo di Eulero

Messaggioda mimmo1988 » 23/07/2014, 08:54

problema risolto: c'era un errore nell'algoritmo! in pratica non avevo considerato che cambiano anche le condizioni iniziali, quando faccio il cambio di variabile. In effetti non aveva senso che l'algoritmo di eulero, nonostante sia un'approssimazione al prim'ordine, sia così sensibile alla traslazione.
mimmo1988
Junior Member
Junior Member
 
Messaggio: 78 di 120
Iscritto il: 23/06/2010, 18:12


Torna a Analisi Numerica e Ricerca Operativa

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite