ode45
Risolvere equazioni differenziali non rigide - metodo di ordine medio
Sintassi
Descrizione
[, dove t,y] = ode45(odefun,tspan,y0)tspan = [t0 tf] integra il sistema di equazioni differenziali da t0 a tf con condizioni iniziali y0. Ciascuna riga dell'array della soluzione y corrisponde a un valore restituito nel vettore colonna t.
Tutti i risolutori ODE di MATLAB® possono risolvere sistemi di equazioni della forma o problemi che coinvolgono una matrice di massa . Tutti i risolutori utilizzano sintassi simili. Il risolutore ode23s può risolvere solo problemi con una matrice di massa se la suddetta è costante. ode15s e ode23t possono risolvere problemi con una matrice di massa singolare, note come equazioni differenziali-algebriche (DAE). Specificare la matrice di massa utilizzando l'opzione Mass di odeset.
ode45 è un risolutore ODE versatile ed è il primo risolutore che si dovrebbe provare per la maggior parte dei problemi. Tuttavia, se il problema è rigido o richiede un'elevata precisione, esistono altri risolutori ODE che potrebbero essere più adatti al problema. Per maggiori informazioni vedere Scelta di un risolutore ODE.
[ utilizza inoltre le impostazioni di integrazione definite da t,y] = ode45(odefun,tspan,y0,options)options, che è un argomento creato utilizzando la funzione odeset. Ad esempio, utilizzare le opzioni AbsTol e RelTol per specificare le tolleranze di errore assolute e relative oppure l'opzione Mass per fornire una matrice di massa.
[ inoltre individua i punti in cui le funzioni di (t,y), chiamate funzioni evento, sono pari a zero. Nell'output, t,y,te,ye,ie] = ode45(odefun,tspan,y0,options)te è il tempo dell'evento, ye è la soluzione al tempo dell'evento ie è l'indice dell'evento attivato.
Per ciascuna funzione evento, specificare se l'integrazione deve terminare a zero e se la direzione del passaggio per lo zero è rilevante. A tal fine, impostare la proprietà 'Events' su una funzione, ad esempio myEventFcn o @myEventFcn, e creare una funzione corrispondente: [value,isterminal,direction] = myEventFcn(t,y). Per maggiori informazioni, vedere ODE Event Location.
Esempi
Argomenti di input
Argomenti di output
Algoritmi
ode45 si basa su una formula di Runge-Kutta esplicita (4,5), la coppia Dormand-Prince. Si tratta di un risolutore a passo singolo: per calcolare y(tn), necessita solo della soluzione al punto temporale immediatamente precedente y(tn-1) [1], [2].
Riferimenti
[1] Dormand, J. R. and P. J. Prince, “A family of embedded Runge-Kutta formulae,” J. Comp. Appl. Math., Vol. 6, 1980, pp. 19–26.
[2] Shampine, L. F. and M. W. Reichelt, “The MATLAB ODE Suite,” SIAM Journal on Scientific Computing, Vol. 18, 1997, pp. 1–22.
Funzionalità estese
Cronologia versioni
Introduzione prima di R2006a








