You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
6.5. Tratarea evenimentelor 145<br />
unde A este o matrice N ×N s¸i v este un vector N ×1 cu<br />
⎡ ⎤ ⎡<br />
0 1 −2 1<br />
⎢<br />
⎢−1<br />
0 1 ⎥ ⎢<br />
⎥ ⎢ 1 −2 1<br />
⎢<br />
A = r1<br />
⎢ . .. . .. . ..<br />
⎥ ⎢<br />
⎥<br />
⎢ ⎥+r2<br />
⎢ . .. . ..<br />
⎢<br />
⎢<br />
⎣<br />
. .. . ..<br />
⎥ ⎢<br />
1⎦<br />
⎣<br />
. ..<br />
−1 0<br />
⎤<br />
⎥<br />
. ..<br />
⎥<br />
⎥,<br />
. ..<br />
⎥<br />
1 ⎦<br />
1 −2<br />
v = [r1 −r2,0,...,0,r1 +r2] T , r1 = −a/(2∆x) s¸i r2 = b/∆x 2 . Aici a, b s¸i ∆x<br />
sunt parametrii cu valorilea = 1,b = 5×10 −2 s¸i∆x = 1/(N +1). Acest sistem de<br />
ecuat¸ii diferent¸iale ordinare apare la semidiscretizarea prin metoda liniilor a ecuat¸iei<br />
cu derivate part¸iale<br />
∂ ∂ ∂2<br />
u(x,t)+a u(x,t) = b<br />
∂t ∂x ∂x2u(x,t)+u(x,t)(1−u(x,t)), 0 ≤ x ≤ 1,<br />
cu condit¸iile pe frontieră de tip Dirichlet u(0,t) = u(1,t) = 1. Această ecuat¸ie<br />
cu derivate part¸iale poate fi rezolvată s¸i direct cu pdepe. Componenta yj(t) a<br />
sistemului de ecuat¸ii diferent¸iale ordinare aproximează u(j∆x,t). Presupunem că<br />
ecuat¸ia cu derivate part¸iale verifică condit¸iile u(x,0) = (1 + cos2πx)/2, pentru<br />
care se poate arăta că u(x,t) tinde către starea de echilibru u(x,t) ≡ 1 când<br />
t → ∞. Condit¸ia init¸ială corespunzătoare pentru ecuat¸ia diferent¸ială ordinară este<br />
(y0)j = (1+cos(2πj/(N +1)))/2. Jacobianul pentru ecuat¸ia diferent¸ială ordinară<br />
are forma A + I − 2diag(y(t)), unde I este matricea identică. Sursa MATLAB 6.2<br />
cont¸ine o funct¸ie care implementează s¸i rezolvă sistemul (6.4.2) utilizând ode15s.<br />
Utilizarea subfunct¸iilor s¸i a tipurilor function handle face posibil ca întreg codul să fie<br />
cont¸inut într-un singur fis¸ier, numit rcd.m. S-a luat N = 40 s¸it ∈ [0,2]. Subfunct¸ia<br />
jacobian evaluează jacobianul, jpattern dă s¸ablonul de raritate al jacobianului<br />
sub forma unei matrice rare cu elemente 0 s¸i 1 s¸i f codifică membrul drept al<br />
ecuat¸iei diferent¸iale. A j-a coloană a matricei de ies¸ire y cont¸ine aproximarea lui<br />
yj(t); matricea U a fost creată adăugând o coloană de 1 la fiecare capăt al lui y, conform<br />
condit¸iilor pe frontieră pentru ecuat¸ia cu derivate part¸iale. Graficul produs de<br />
rcd apare în figura 6.9.<br />
6.5. Tratarea evenimentelor<br />
În multe situat¸ii, determinarea ultimei valori tfinal a lui tspan este un aspect<br />
important al problemei. Un exemplu este căderea unui corp asupra căruia act¸ionează<br />
fort¸a gravitat¸ională s¸i rezistent¸a aerului. Când atinge el pământul? Un alt exemplu<br />
este problema celor două corpuri, adică determinarea orbitei unui corp supus atract¸iei