Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Eq. Differenziali e Matlab/Simulink

172 views
Skip to first unread message

Erika

unread,
Nov 16, 2002, 4:00:33 AM11/16/02
to
Come si risolvono le eq. diff. con Matlab o, ancora meglio, con Simulink?
In particolare mi serve risolvere un eq. del tipo:

y'+A*y^2+B=0

con:
y'=dy/dx
A e B costanti

Grazie in anticipo

PeterRay

unread,
Nov 16, 2002, 12:40:26 PM11/16/02
to
seca...@yahoo.it (Erika) wrote in message news:<fbfa3fa8.02111...@posting.google.com>...

> Come si risolvono le eq. diff. con Matlab o, ancora meglio, con Simulink?
> In particolare mi serve risolvere un eq. del tipo:
>
> y'+A*y^2+B=0
>
> con:
> y'=dy/dx
> A e B costanti

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.

gigi

unread,
Nov 16, 2002, 1:03:51 PM11/16/02
to
Il 16 Nov 2002, 18:40, pt....@libero.it (PeterRay) ha scritto:
> seca...@yahoo.it (Erika) wrote in message
news:<fbfa3fa8.02111...@posting.google.com>...
> > Come si risolvono le eq. diff. con Matlab o, ancora meglio, con
Simulink?
> > In particolare mi serve risolvere un eq. del tipo:
> >
> > y'+A*y^2+B=0
> >
> > con:
> > y'=dy/dx
> > A e B costanti
>
> Si utilizzano le funzioni ODE. Ade esempio ode45 (Runge Kutta del 4
> ordine se non ricordo male).

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

PeterRay

unread,
Nov 17, 2002, 9:33:07 AM11/17/02
to
> > Si utilizzano le funzioni ODE. Ade esempio ode45 (Runge Kutta del 4
> > ordine se non ricordo male).
>
> ma..non penso.
> ODE dovrebbe essere un "pacchetto" di funzioni (Ordinary Differenzial
> Equations) che servono a risolvere le equazioni differenziali.
>

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

0 new messages