(HY) Y' = A YKäytetään isoa Y:tä vektoria merkitsemään. Jospa hetkiseksi merkittäisiin ratkaistavia funktioita x(t):llä ja y(t):llä, eli
[x(t)] Y(t) = [ ] [y(t)]Trajektoriksi sanotaan xy-tason käyrää, joka koostuu pisteistä (x(t),y(t)), missä t on käyräparametrina.
Voidaan ajatella, että piirros esittää y:tä x:n funktiona. Erityisesti, jos kyse on fysikaalisesta systeemistä, kuten jousi-massa- systeemistä, niin piirros esittää nopeutta paikan funktiona. Tästä nimitys "faasitaso".
Ratkaisukäyrät voidaan tietysti piirtää myös aikatasoon.
Yksinkertaisin havainnollistus lienee ajatella tilannetta, jossa ratkaisut ovat x(t)=cos t, y(t)=sin t .
Faasikuva on yksikköympyrä t -> (cos t, sin t) ja "aikakuvassa"
ovat cos- ja sin-käyrät.
Matlab-istunto, jonka voit tästä leikata/liimata.
t=linspace(0,2*pi); x=cos(t);y=sin(t); plot(t,x,'r',t,y,'b'); grid;title('Aikakuva');shg figure(2) plot(x,y); grid;title('Faasitaso');axis equal;shgKun käyrä on annettu parametrimuodossa X(t)=(x(t),y(t)), niin käyrän tangenttivektori parametrin t=t[0] määräämässä pisteessä X[0]=(x(t[0],y(t[0])) saadaan derivoimalla vektorifunktio X, ts. tangenttivektori on vektorin X'(t[0])=(x'(t[0]),y'(t[0])) suuntainen.
Siispä pisteen X[0]=(x[0],y[0]) kautta kulkevan trajektorin suunta on A X[0], koska kerran X' = A X.
(Trajektori)suuntakenttä voidaan siten muodostaa laskemalla X[0]=(x[0],y[0])- pisteissä v= A X[0] ja piirtämällä pisteestä X[0] alkava v:n suuntainen pikkunuoli kuvaan. Tällaista työtä tekee pplane5 . Siinä kannattaa valita "gallery", josta "linear". Käyttö on hyvin helppoa. Tämän jälkeen lienee ymärrettävissä, mitä nuo kauniit kuvat tarkoittavat. (Jos ei, niin asia kristallisoituu viimeistään huomisella luennolla.)
y1'=f1(y1,y2) y2'=f2(y1,y2)Tällöinhän trajektorin suunta määräytyy yksinomaan paikan (x[0],y[0]) perusteella. Ei-autonomisessa tapauksessa pitäisi tarkastella (t,y1,y2)-faasiavaruutta, jota on aika paljon vaikeampi tulkita. Tällöin on parasta tyytyä piirtelemään ratkaisukäyriä aikakuvaan.
format compact; format rational A=[-3 1;1 -3] [V,D]=eig(A); lam=diag(D) V=V/V(1,1) % jaetaan "normaaraus pois", saadaan mukavampia lukuja.
>> A=[-3 1;1 -3] A = -3 1 1 -3 >> [V,D]=eig(A); >> lam=diag(D) lam = -4 -2 >> V=V/V(1,1) V = 1 1 -1 1Lasketaan ratkaisut sopivassa t-pistejoukossa (tässä 100 pistettä) ja piirretään eri vakioiden C1 ja C2 arvoilla. Näitä voi sitten säädellä tilanteen mukaan.
t=linspace(0,10); % Kokeile sopivaa, usein voi jokin exp-muoto olla parempi. y1=V(:,1)*exp(lam(1)*t); % Huomaathan ulkotulon kätevyyden y2=V(:,2)*exp(lam(2)*t); % ... pysty * vaaka . varit=['rb'] vari=0 figure(1);clf;hold on for C1=-6:2:6 disp('Paina ENTER:iä') pause % Pysähdytään ulkoluupissa. vari=mod(vari+1,2); % Leikitään vähän: vaihdetaan ulkoluupissa väri % sinisen ja punaisen välillä. for C2=-10:2:10 y=C1*y1+C2*y2; title('Faasikuva') hold on plot(y(1,:),y(2,:),varit(vari+1)) end end figure(2);clf;hold on for C1=-6:2:6 disp('Paina ENTER:iä') pause for C2=-10:2:10 y=C1*y1+C2*y2; title('Aikakuva') hold on plot(t,y(1,:),'r',t,y(2,:),'b') end end grid;shg