Funzioni > Soluzione e ottimizzazione > Solutori di equazioni differenziali > Esempio: oscillazione armonica smorzata nei circuiti
  
Esempio: oscillazione armonica smorzata nei circuiti
Si consideri un semplice circuito elettrico che contiene un resistore R, un induttore L e un condensatore C.
Utilizzare equazioni differenziali per modellare la carica Q nel condensatore C, quindi utilizzare le funzioni del solutore ODE per trovare altre soluzioni approssimate. Confrontare infine i risultati con la soluzione esatta di Q.
Utilizzo delle equazioni differenziali
1. Scrivere un'equazione differenziale per la tensione dei tre componenti, la cui somma deve essere uguale a zero:
Fare clic per copiare questa espressione
2. Scrivere l'equazione differenziale per la variazione istantanea della carica Q del condensatore C:
Fare clic per copiare questa espressione
3. Definire la carica Q al tempo zero:
Fare clic per copiare questa espressione
4. Presupporre i seguenti valori dei parametri di input:
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
5. Trasformare l'equazione differenziale nella forma standard.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
6. Risolvere l'equazione per tutti i casi di a e b:
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
7. Tracciare i grafici delle due possibili soluzioni per Q.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Quando a=b, la carica Q1 scende rapidamente a zero, mentre quando a è diverso da b oscilla per molto tempo prima di arrivare a zero.
Prima di utilizzare i solutori ODE
Definire i parametri che verranno passati alle funzioni del solutore ODE:
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
I solutori di equazioni ODE possono essere di due tipi, ovvero solutori per sistemi stiff e solutori per sistemi non stiff. Un sistema di equazioni ODE in forma matriciale, ad esempio y' = Ax, è denominato stiff se la matrice A è quasi singolare. In caso contrario, il sistema è detto non stiff.
La differenza tra sistemi stiff e non stiff può essere correlata alle scale della dinamica intrinseca della matrice A, caratterizzate dai rispettivi autovalori. Una matrice con autovalori molto distribuiti (o con valori che vanno da troppo piccoli a troppo grandi) è in genere un sistema stiff.
In base ai parametri di sistema specificati, questo semplice esempio di oscillazione armonica smorzata rappresenta un sistema non stiff.
Le funzioni rkfixed, Rkadapt e Bulstoer utilizzano il valore di TOL del documento.
Le funzioni Adams, AdamsBDF, BDF e Radau possono ricevere un valore specifico di TOL o utilizzare il proprio valore TOL di default, ovvero10-5.
Utilizzo dei solutori ODE per sistemi non stiff
Utilizzare i solutori ODE per sistemi non stiff per trovare le soluzioni approssimate, quindi confrontare i risultati con la soluzione esatta di Q.
1. Adams
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
2. rkfixed
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
3. Rkadapt
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
4. Bulstoer
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Utilizzo dei solutori ODE per sistemi stiff
Utilizzare i solutori ODE per sistemi stiff per trovare le soluzioni approssimate, quindi confrontare i risultati con la soluzione esatta di Q.
1. BDF
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
2. Radau
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Utilizzo del solutore ODE ibrido
Utilizzare il solutore ODE ibrido AdamsBDF, che determina se un sistema è stiff o non stiff e chiama rispettivamente Adams o BDF, per trovare le soluzioni approssimate, quindi confrontare i risultati con la soluzione esatta di Q.
1. AdamsBDF
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Conclusione
Nell'ambito dei solutori ODE per sistemi non stiff, le funzioni Adams e rkfixed restituiscono rispettivamente le soluzioni con l'errore minore e maggiore.
Nell'ambito dei solutori ODE per sistemi stiff, le funzioni Radau e BDF restituiscono rispettivamente le soluzioni con l'errore minore e maggiore.
La funzione ibrida AdamsBDF restituisce un valore più piccolo di entrambi i valori restituiti da Adams o BDF.
In generale le funzioni Radau e rkfixed restituiscono, rispettivamente, le soluzioni con l'errore minore e maggiore.
Confronto dei risultati
1. Tracciare i grafici delle soluzioni restituite dai solutori ODE per sistemi non stiff con gli errori minore (Adams, G0nss) e maggiore (rkfixed, G1nss):
Fare clic per copiare questa espressione
La differenza tra le due soluzioni restituite è notevole rispetto a Q.
2. Tracciare i grafici delle soluzioni restituite dai solutori ODE per sistemi stiff con gli errori minore (Radau, G1ss) e maggiore (BDF, G0ss):
Fare clic per copiare questa espressione
Le due soluzioni sembrano identiche rispetto a Q.
3. Tracciare i grafici delle soluzioni che hanno prodotto gli errori minore (Radau, G1ss) e maggiore (rkfixed, G1nss) restituite dai solutori ODE per sistemi stiff e non stiff:
Fare clic per copiare questa espressione
La migliore approssimazione alla soluzione di Q è quella restituita dalla funzione Radau, un solutore per sistemi stiff.