You are on page 1of 5
doar rabdarea & perseverenta in invatare (acres =o chime = Dioctea Informatica Matlab Index » educatie » » informatica » Matlab » Rezolvarea ecuatilor diferentiale ro Rezolvarea ecuatiilor diferentiale Rezolvarea ecuatilor diferentiale ‘Aceasta lucrare descrie modul de rezolvare numerica in MATLAB a ecuatillor diferentiale. MATLAB-ul are urmatoarele functi pentru rezolvarea ecuatilor dferentiale: Functia Tipul problemei de rezolvat Metoda de integrare ode45 cua ciferentiala cu o scara de timp Runge-Kutta ode23 cual iferentiala cu o scara de timp Runge-Kutta odet13 _Ecuatie diferentiala cu doua scari de timp ‘Adams odetSs —_Euatia diferentala cu doua scar de timp FON 040238 Ecuatlediferentiala cu doua scari de timp Rosenbrock ode23t —_—cuateaiferentiala cu doua scar de timp Metoda trapezelor ode23t _Ecuate alflerentiala cu doua scar de timp TR-BDF2 unde FDN sunt formule de diferentiere numerica far TR-BDF2 aplica mal intai o metoda Runge-Kutta iar in faza a doua o metoda de iferentiore inapoi de ordinul doi Sintaxa acestor funeti este urmatoarea [T,¥) = solver (Panctic, tapan, y0) (7, ¥] = solver (Functie, tspan, y0,optiuni) Lunde so1-ve= este una din functile MATLAB odo45, 04623, ode113, ode15s, ode25s, od623t, sau ode23tb Argumentul Functie este o functie MATLAB ce descrie membrul drept al ecuatiei diferentiale: f(t,y). Toate aceste functii pot rezolva ecuati de forma: y’=£ (t,y) sau sistome de ecuati ferential de forma: M(t.) y’ =f (t,y) , unde Mity) este 0 matrce. Functia ode23s poate rezolva numai sisteme cu matrici M constant, iar functile ode15s si ode23t pot rezolva sisteme pentru care matricea M este singulara. Parametrul tspan este un vector ce specifica intervalul de integrare, [t0 t]. Pentru a obtine solutile in anumite momente de timp se ullizeaza forma tspan = (t0,tt,,tf) Parametrul y0 este un vector ce contine conditileintiale. Pentru utllizarea unor argumente optionale de integrare (cum ar fi precizia de integrare) se ullizeaza functia odeset. Exemplul 1: Un exemplu de sistem cu 0 singura scara de timp este urmatorul, in care este descrisamiscarea unui rigid fara aciiunea fortelor externe. yst="0.Slyiy2 v3 (0)=: Pentru a simula acest sistem se creeaza o functie sistem ce contine ecuatil: function dy = sisten(t,y) ay = xer08(3,1);¥ aloca ava) =v) #3) aya) = ya) tye) av(2) = -0.51 # ya) * ¥@) Precizia cu care sunt efectuate calculele poate fi modificata utlizand functia odeset. Integrarea se face pe intervalul [0 12] cu cconaitie initiate [0 1 1}, option = odeset(‘RelTol! 1-4, Abstol',(1e-4 1e-4 19-51); odes (@siaten, [0 22], [0 1 1],optivni) ; PROE CT C2) FFAG De PC DD In cazul unei ecuati diferentiale de ordin superior, aceasta trebuie transformata intr-un sistem de ecuatit diferentiale de ‘ordinul Ide forma urmatoare: yi=e(tsy) Orice ecuatie de forma y= (t,¥,y' ry!) poate f transformata in urmatorul sistem de ecuati dferentiale de ordinul I, cu ajutorul urmatoarelor substitutl: y.-y, yo-y", .-. yarv™?. Se obtine urmatorul sistem de ecuatl diferentiale de ordinul | nieve wavs Pentru rezolvarea ecuatilor diferentiale cu condi pe frontiera se utilzeaza functia bvpde. Aceasta functie rezolva o ecuatie de forma y= (t,y) pe intervalul [a, b] care respecta conditile pe frontiera ei(y(a),y(b))=0. Functia bvpdc are sintaxa urmatoare: sol = byp4e (Funct Le, Conditittaitiale, solinit) ‘Argumentul Funetie este o functie MATLAB ce descrie membrul drept al ecuatillor diferentiale f(x) Argumentul Conditilinitiale este o functie MATLAB ce descrie conditile pe frontiera. Ea poate avea una din formele urmatoare: res = Conditiitnitiale (ya, yb) res = Conditlirnitiale (ya, yb,p1,p2/) res = Conditiitnitiale (ya, yb, parameters) res = Conditiitnitiate (ya, ybyp: unde ya si yb sunt vectori coloana corespunzatori lui y(a) si y(b). Argumentul parameters este vectorul parametrilor necunoscut iar p4, Pe, -- Sunt parametri cunoscuti.lesirea res este un vector coloana. Argumentul solinit este o structura cu urmatoarele campuri: +x nodurile retelei de puncte in care se calculeaza solutile. Conditile la frontiera sunt impuse astfel olinit-x(1) si b = solinit.x(end). -y aproximarileintiale ale solutie astfel ca solinity(,)) este 0 aproximare a solutiel in nodul solinit-x() Se poate forma solinit cu ajutorul functiel bypinit ce determina o aproximare initiala pentru functia bvp4e, asa cum este prezentat in exemplul urmator. Exemplul 2: Sa se rezolve ecuatia y’ y(0}=0 yay y|=0, unde «= (04), cu conditile pe frontiera Unde s-au facut notatile: ys=y si ye Functia MATLAB ce descrie sistemul de ecuatii diferentiale este urmatoarea: function dydx = sistem(x,y) dydx = [ y(2) webs (y(1))15 Functia MATLAB ce descrie concitilorintiale pe frontiera este urmatoarea: function res = ci (ya,yb) res = [ ya(1) yb(1) + 23; Apoximarea initiala @ solutie in cinci puncte uniform distribuite in intervalul [0,4] si cu aproximarile Initiale y4(x)=1 si ya(x)=0 este data de functia solinit = bypinit (Linspace (0,4,5),[1 01) Problema este rezolvata cu comanda sol = byptc (sistem, ci, solinit) ; Solutia numerica este evaluata in 100 de puncte uniform distribulte si este plotata cu comenzile: y = daval (sol, Linspace (0,4); x= Linspace (0,4); plot (x,y (1 ds O alta solutie @ acestei probleme poate fi obtinuta schimband conditile initiale solinit = bypinit (Liaspace (0,4 TEME: 4. Sa se determine solutile ecuatieidiferentiale urmatoare: ysyyPry=0 pe intrvalu [2,10] in conti intial: y(0)0, 0}#0 6. Sa se repezinte grates evoltia in plnul fazer 2. Sa se determine solutile ecuail dterenate urmatoare: yeuly!iyry-0 pe intervalul (0, 20] in conditie initiate: ¥(0)=0, y( Paramotrul are valoarea 1 3. Aceeasi problema pentru /=1000 4, Sa se determine solutile ecuatiel diferentiale urmatoare: yray'+ysin(y)}+y+1=0 pe intervalul (0, 10] in conditile initiate: y“(0)=0.2, y'(0)=0, y(0)=0.3. Sa se imparta ecranul in patru cadrane utlizand functia ‘subplot, si sa se vizualzeze simultan dependentele (yy), (Y.y'), (y'y") precum si o reprezentare tridimensionala a matricel y folosind functia mesh, 5. Aceeasi problema de la punctul 4 pentru ecuatia yreTy'#8y +3y+1=0 in conditle initiate y"(0)=0.4, y(0)=0, y(0)=0.2, pe intervalul (0, 5) 6. Sase determine solutile ecuatie diferentiale urmatoare: pe intervalul [0,10], cu conditile pe frontiera y(0)=0; y(10) PRR ERR RRR RRR RR ERR RRR ERE yayty=0 Aceat secret ‘letras au ‘ie! ECoNoMM de panala 76 Acoess ‘Adobe photoshop cost secret letrcint au ‘cums an de ie! EConown do pina la 75%) Acestsecret — Euplitese Dela custecia Slecvicion su patra pentnlenes Secuneanice Glecrictate —_laeet. dist apreape de garaniat 8 kg ECONoMM de dav ermal e'saptamana pandla 3) BURNIE novoie fone w) San creneca

You might also like