Risolvere in matlab eq differenziali non lineari
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.
dx1=2*(x1^2)
dx2=x2
e come rappresentare graficamente con plot le soluzioni.
grazie
gradirei se possibile anche il paragone con simulink.
Risposte
Scusa ma il sistema che hai scritto è disaccoppiato. Puoi semplicemente risolvere separatamente le due equazioni differenziali...
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
grazie
basta scrivere il sistema come un'equazione in un'unica variabile vettoriale
ma scriviti da solo uno scriptino
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).
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).
grazie
ho risolto
ho risolto