Scrigroup - Documente si articole

Username / Parola inexistente      

Home Documente Upload Resurse Alte limbi doc  

CATEGORII DOCUMENTE





AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Rezolvarea ecuatiilor diferentiale

Matlab

+ Font mai mare | - Font mai mic







DOCUMENTE SIMILARE

Trimite pe Messenger
Rezolvarea ecuatiilor diferentiale
Tehnici de plotare - Plotari 2D elementare - Generarea graficelor
Plotari tridimensionale (3 D)
Minimizarea functiilor si gasirea zerourilor
Handle Graphics si Interfete Grafice in MATLAB (GUI)
Expresii fundamentale
Editorul/Debugger-ul MATLAB
Functii de matrice
Tipuri de date si operatori
PACHETUL DE MODELARE SI SIMULARE SIMULINK

Rezolvarea ecuatiilor diferentiale

MATLAB-ul dispune de metode si functii care pot rezolva problema conditiilor initiale (Cauchy) ale sistemelor de ecuatii diferentiale ordinare (ODE Ordinary Differential Equations).

In tabelul urmator sunt prezentate succint cateva din aceste functii.



Categorie

Functie

Descriere

Functii care rezolva ODE

ode45

Rezolva ecuatii diferentiale nonstiff, metoda de ordin mediu.



ode23

Rezolva ecuatii diferentiale nonstiff, metoda de ordin scazut.



ode113

Rezolva ecuatii diferentiale nonstiff, metoda de ordin variabil.



ode15s

Rezolva ecuatii diferentiale stiff si ecuatii algebrice diferentiale, metoda de ordin variabil.



ode23s

Rezolva ecuatii diferentiale stiff, metoda de ordin scazut.



ode23t

Ecuatii diferentiale stiff si ecuatii algebrice diferentiale, metoda trapezelor.



ode23tb

Rezolva ecuatii diferentiale stiff, metoda de ordin scazut.

Optiuni ODE

odeset

Creeaza sau schimba optiuni de structura ale ODE.



odeget

Permite obtinerea parametrilor din optiunile ODE.

Functii de iesire

ODE

odeplot

Plotarea solutiilor ODE (in functie de timp).






odephas2

Trasarea planului fazelor.



odephas3

Trasarea spatiului fazelor (tri-dimensional).



odeprint

Permite tiparirea solutiei ODE in fereastra de comanda.

Observatie: La ecuatiile diferentiale ordinare de tip stiff (rigide) solutiile pot avea variatii foarte rapide in timp in raport cu intervalul de timp de integrare si este necesara folosirea unor pasi de integrare foarte mici, ceea ce nu mai este indicat la ecuatiile nonstiff.

Exemplu de rezolvare: ecuatia van der Pol

Ecuatia van der Pol este un exemplu clasic de ecuatie diferentiala:

unde > 0 este un parametru scalar.

Pentru implementarea algoritmului de rezolvare este necesara rescrierea ecuatiei de ordinul 2 ca un sistem de doua ecuatii diferentiale de ordinul 1. Pentru aceasta se introduce variabila y2 care este derivata in raport cu timpul a variabilei y1 . Vom avea

Pentru a reprezenta in MATLAB acest sistem de ODE in scopul gasirii solutiilor, trebuie scris in primul rand un fisier care descrie sistemul (un fisier de tip function). Un fisier ODE accepta cel putin doua argumente, t si y.

Pentru ecuatia van der Pol cu = 1, fisierul este urmatorul (y1 si y2 devin y(1) si y(2)):

function dy = vdp1(t,y)

dy = [y(2); (1-y(1)^2)*y(2)-y(1)];

La pasul urmator, dupa ce sistemul de ecuatii a fost scris, se poate utiliza una din metodele de rezolvare prezentate in tabelul anterior. Trebuie furnizat un interval de timp pentru care se doreste calculul solutiilor si bineinteles conditiile initiale.

Pentru exemplul van der Pol, se poate apela la ode45. Daca intervalul de timp este [0 20] iar conditiile initiale y(1)=2 si y(2)=0 vom avea

[t,y] = ode45('vdp1',[0 20],[2; 0]);

Iesirea [t,y] este un vector coloana care contine vectorul timp t si solutia de tip tablou y. Fiecare linie din y corespunde unui element (moment) din vectorul timp.

Pentru trasarea graficului cu solutia se foloseste comanda plot:

plot(t,y(:,1),'-',t,y(:,2),'- -')

title('Solution of van der Pol Equation, mu = 1');

xlabel('time t');

ylabel('solution y');

legend('y1','y2')

Se obtine urmatorul grafic care contine evolutiile celor doua componente ale solutiei in timp:



Daca se doreste si trasarea planului fazelor se pot folosi liniile de comanda:

options=odeset('OutputFcn','odephas2');

[t,y] = ode45('vdp1',[0 20],[2; 0],options);

si obtinem planul fazelor (este vorba de trasarea componentei y(1) versus componenta y(2)):








Politica de confidentialitate

DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1162
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2019 . All rights reserved

Distribuie URL

Adauga cod HTML in site