% ratk4ajo.m
%% Olispa hauskaa, jos voitaisiin piirtää suuntakenttä ja siinä valita
%  alkupiste hiirellä, kuten Java-pplane:ssa.
%  No näin vähäisellä koodilla se käy tässä:
[y1,y2]=meshgrid(-5:0.5:5,-5:0.5:5); % Koordinaattihilapisteistö
dy1=A(1,1)*y1+A(1,2)*y2; dy2=A(2,1)*y1+A(2,2)*y2;  % Derivaattavektori
% saadaan lineaariselle näin: dy=A*y, jos y on jokin 2 x 1-vektori. 
% Tässä on kirjoitettava matriisitulo auki, koska y1 ja y2 ovat
% hilapisteistön määrääviä matriiseja, joten dy=A*[y1;y2] on "mahdoton yhtälö". 
% clf  % Puhdistetaan ikkuna 2.
quiver(y1,y2,dy1,dy2) % Suuntanuolet hilapisteisiin derivaattojen suuntaan.
axis([-5 5 -5 5]); grid on;hold on
plot(5*[0 X(1,1)],5*[0,X(2,1)],'k',5*[0,X(1,2)],5*[0,X(2,2)],'k')
plot(-5*[0 X(1,1)],-5*[0,X(2,1)],'k',-5*[0,X(1,2)],-5*[0,X(2,2)],'k')
disp('Kuljeta hiirtä grafiikkaikkunaan ja klikkaa')
Y0=ginput(1)'; % Matlab antaa hiusristikon, jonka avulla voit hiirellä valita
                % alkupisteen.
C=X\Y0        % Ratkaise vakiot.
t=linspace(-3,1,50);   % Kokeile eri arvoja
Y = X*[C(1)*exp(d(1)*t);C(2)*exp(d(2)*t)];
plot(Y(1,:),Y(2,:),Y0(1),Y0(2),'o')    % Faasikuva ja alkuarvopiste
