17.04.2014 Views

Matlab Hogyan - Hidrodinamikai Rendszerek Tanszék

Matlab Hogyan - Hidrodinamikai Rendszerek Tanszék

Matlab Hogyan - Hidrodinamikai Rendszerek Tanszék

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.

9. FEJEZET. KÖZÖNSÉGES DIFFERENCIÁLEGYENLETEK (ODE) MEGOLDÁSA 33<br />

function dydt = f(t,y,mu)<br />

dydt = [ y(2)<br />

-sqrt(y(1)*y(2))];<br />

9.1.2. Egy merev feladat: a Van der Pol egyenlet<br />

Balthazar van der Pool 1927-ben egy vákuumcsövet tartalmazó egyszerű áramkör vizsgálata közben időnként<br />

zajokat figyelt meg. Az áramkört modellező egyenlet<br />

ẍ + µ ( x 2 − 1 ) ẋ + x = 0<br />

valóban öngerjesztett rezgéseket mutat bizonyos µ paramétertartományokban (ami meglepő volt, hiszen<br />

explicit időfüggés nincs az egyenletekben, azaz senki sem ’rázza’ a rendszert). Hogy a numerikus megoldót<br />

használni tudjuk, először Cauchy átírással elsőrendű rendszerré alakítjuk az y 1 = x és y 2 = ẋ új változók<br />

segítségével, amivel az egyenlet az<br />

) (<br />

)<br />

(ẏ1<br />

y<br />

=<br />

2<br />

ẏ 2 µ ( )<br />

1 − y1<br />

2 y2 − y 1<br />

alakot ölti. A (van der Pol.m) példaprogramban átállítjuk a relatív hibát 10 −4 -re és az ode15s megoldót<br />

használjuk, mert a feladat merev (gyors-lassú mozgást végez a rendszer).<br />

van der Pol.m<br />

function van_der_Pol(mu)<br />

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

[t,y] = ode15s(@vdp,[0 3000],[2; 0],options,mu);<br />

plot(t,y(:,1));<br />

xlabel(’t’); ylabel(’y_1’);<br />

title([’van der Pol egyenlet, \mu=’,num2str(mu)]);<br />

function dydt = vdp(t,y,mu)<br />

dydt = [ y(2)<br />

mu*(1-y(1)^2)*y(2)-y(1)];<br />

9.1.3. Eseménykezelés: vízcsepp alakja<br />

A csapból lassan kifolyó vízcsepp y(x) alakját a<br />

y ′′<br />

(1 + y ′2 ) + y ′<br />

3/2 x (1 + y ′2 ) = 1/2 2y′′ (0) − ρg<br />

σ y<br />

egyenlet írja le, ahol σ a felületi feszültség, ρ a folyadék sűrűsége. Az egyenletet numerikus célokra átírva<br />

kapjuk a

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

Saved successfully!

Ooh no, something went wrong!