Risolvere in matlab eq differenziali non lineari

chi8r8
salve,vorrei sapere come è possibile risolvere un sistema di equazioni differenziali non lineari del primo ordine in matlab, per esempio:
dx1=2*(x1^2)
dx2=x2
e come rappresentare graficamente con plot le soluzioni.
grazie
gradirei se possibile anche il paragone con simulink.

Risposte
Marco831
Scusa ma il sistema che hai scritto è disaccoppiato. Puoi semplicemente risolvere separatamente le due equazioni differenziali...

chi8r8
scusa,ma ho scelto male l'esempio.vorrei sapere in generale quali sono i comandi per risolvere i sistemi in ambinete Matlab.ho visto che esiste il comando ode(con tutte le sue varianti) ma non ho capito bene quali informazioni devo inviargli come input.se puoi inviarmi un esempio te ne sarei grata.
grazie

irenze
basta scrivere il sistema come un'equazione in un'unica variabile vettoriale

Maxos2
ma scriviti da solo uno scriptino

cubalibre1
prima devi creare un m-file, poi definisci l'intervallo che ti interessa (tstan=[]) e infine vai con ode. Per esempio se hai il problema y'=t, y(0)=0 e vuoi conoscere la soluzione in [0,10] vai su file,new,m-file. Lì digiti
function F=odefile(t,y)
F=t
quindi salvi nella cartella in cui stai lavorando.
Poi digiti sulla finestra dei comandi tstan[0 10]. Infine [t,y]=ode23('odefile',tstan,1).
a questo punto se vuoi ad esempio il grafico di y al variare di x puoi scrivere plot(t,y).

chi8r8
grazie
ho risolto

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.