20.07.2013 Views

Software matematic

Software matematic

Software matematic

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

6.4. Ecuat¸ii stiff 139<br />

încerca să rezolvăm problema cu ode45. Dacăδ nu este foarte mic problema nu este<br />

foarte stiff. Alegem δ = 0.01 s¸i eroarea relativă 10 −4 .<br />

delta=0.01;<br />

F = inline(’yˆ2-yˆ3’,’t’,’y’);<br />

opts = odeset(’RelTol’,1e-4);<br />

ode45(F,[0,2/delta],delta,opts);<br />

Neavând parametrii de ies¸ire, rezolvitorul reprezintă grafic solut¸ia (vezi figura<br />

6.4). Se observă că ea pornes¸te de la 0.1, cres¸te lent până când t se apropie de 1/δ,<br />

adică 100 s¸i apoi cres¸te rapid până la valoarea 1, ajungându-se într-o stare de echilibru.<br />

Se utilizează 185 de puncte. Dacă luămδ mai mic, de exemplu 0.0001, caracterul<br />

1.4<br />

1.2<br />

1<br />

0.8<br />

0.6<br />

0.4<br />

0.2<br />

0<br />

0 20 40 60 80 100 120 140 160 180 200<br />

Figura 6.4: Propagarea unei flăcări, δ = 0.1<br />

stiff devine mai pregnat. Se generează 12161 de puncte. Graficul apare în figura 6.5,<br />

în partea de sus. În partea de jos este un zoom obt¸inut în vecinătatea stării de echilibru.<br />

Figura a fost obt¸inută cu script-ul chibrit2.m dat mai jos. Opt¸iunea Stats<br />

setată pe on permite obt¸inerea unor statistici ale rezolvitorului.<br />

delta=1e-4; er=1e-4;<br />

F = inline(’yˆ2-yˆ3’,’t’,’y’);<br />

opts = odeset(’RelTol’,er,’Stats’,’on’);<br />

[t,y]=ode45(F,[0,2/delta],delta,opts);<br />

subplot(2,1,1)<br />

plot(t,y,’c-’); hold on<br />

h=plot(t,y,’bo’);<br />

set(h,’MarkerFaceColor’,’b’,’Markersize’,4);<br />

hold off<br />

title ode45<br />

subplot(2,1,2)<br />

plot(t,y,’c-’); hold on

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!