y'+A*y^2+B=0
con:
y'=dy/dx
A e B costanti
Grazie in anticipo
Si utilizzano le funzioni ODE. Ade esempio ode45 (Runge Kutta del 4
ordine se non ricordo male).
Guarda la guida sulle funzioni ODE. C'e' riportato un esempio semplice
che ti puo' spiegare come funziona il tutto.
ma..non penso.
ODE dovrebbe essere un "pacchetto" di funzioni (Ordinary Differenzial
Equations) che servono a risolvere le equazioni differenziali.
Il metodo di Runge Kutta è numerico e non risolve un bel niente, trova solo
un insieme finito di punti (tanti quanti ne vuoi) (x,y) che soddisfano
l'equazione, fregandosene dei diversi casi, dei fenomeni di blow up e spesso
anche delle condizioni al contorno. Inoltre è applicabile solo a sistemi del
primo ordine (a cui ogni eq. diff. ordinaria è riconducibile).
Tuttavia ti sconsiglio di usare programmi come matlab per risolvere
equazioni differenziali troppo complesse(funziona abbastanza bene solo per
quelle lineari, cioè quelle che possono essere risolte anche con carta e
penna). Semmai può essere utile se vuoi sostituire delle funzionisoluzioni
di prova (ansaz) nella tua equazione, ma diffida sempre da questi programmi,
con le eq differenziali diventano imprevedibili.
--------------------------------
Inviato via http://usenet.libero.it
Esatto, ci sono vari tipi di odeXX in matlab. Tutto dipende da quale
tipo di risolutore vuoi usare e dal problema che imposti. ode45 si
basa sul metodo di Runge Kutta appunto. Ci sono anche altri metodi,
tipo ode23, che si basano su algoritmi numerici diversi (Runge - Kutta
del 2o ordine, Adams-Bashforth et cetera).
> Il metodo di Runge Kutta è numerico e non risolve un bel niente
Ok, analiticamente non risolve niente, certamente. Ma non e' detto che
tu debba avere necessariamente una funzione, a volte ti basta
conoscere solo un insieme di punti che che soddisfano all'equazione
data. Del resto tutti i pacchetti software commerciali, quali ANSYS
solo per citarne uno, non fanno altro che risolvere per via numerica
un problema, quindi non fanno altro che calcolare un insieme finito di
punti che soddisfano alle equazioni che descrivono il problema
imposto.
Io ho dato per scontato che, parlando di matlab, si parlasse di
soluzione numerica, non di soluzione analitica. Parlare di risolvere
un'equazione con metodi numerici e' forse semanticamente impreciso, in
quanto non si perviene ad una funzione analitica, ma in ogni caso
rende l'idea.
> > Tuttavia ti sconsiglio di usare programmi come matlab per risolvere
> equazioni differenziali troppo complesse(funziona abbastanza bene solo per
> quelle lineari, cioè quelle che possono essere risolte anche con carta e
> penna).
Beh, non e' proprio cosi'. Funziona bene anche con equazioni non
lineari, purche' non siano veramente complesse, nel qual caso e'
consigliabile scrivere una propria libreria per risolvere
numericamente il problema dato. Almeno si e' a conoscenza del preciso
funzionamento dell'algoritmo.
> Semmai può essere utile se vuoi sostituire delle funzionisoluzioni
> di prova (ansaz) nella tua equazione, ma diffida sempre da questi programmi,
> con le eq differenziali diventano imprevedibili.
>
Certo, vanno usati con cautela. Se non si conoscono bene i fondamenti
del metodo numerico usato per risolvere l'equazione, in alcuni casi e'
possibile cadere in errori grossolani. Di norma pero', con un minimo
di esperienza, si riesce a capire se il risultato e' buono o meno.
Inoltre tali metodi sono stati sviluppati proprio per risolvere
numericamente certe equazioni differenziali che, per via analitica,
sono troppo complicate.
Pietro