%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                                                                      %
%   Gewoehnliche Differentialgleichungen                               %
%                                                                      %
%    -- Eine Einfuehrung aus der Perspektive der Dynamischen Systeme   %
%                                                                      %
%                                             Vieweg + Teubner, 2009   %
%                                                                      %
%                                                                      %
%                                                                      %
%         MATLAB-Beispiele aus Anhang B.3 - Grafische Ausgabe          %
%                                                                      %
%         (benoetigt zusaetzlich 'bsp1_f.m' und 'bsp2_f.m')            %
%                                                                      %
%                                   (C) Lars Gruene, Oliver Junge 2008 %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


% Berechnung der numerischen Loesungen:

[t1,x1] = ode45(@bsp1_f, [0:0.1:1],0.5);
[t2,x2] = ode45(@bsp2_f, [0,20],[1, 0]);

% Plot von Beispiel 1 in Abhaengigkeit von t

plot(t1,x1);

figure;

% 2d Plot von Beispiel 2 in Abhaengigkeit von t
% (beide Komponenten auf einmal) 

plot(t2,x2);

figure;

% Phasenportrait von Beispiel 2 

plot(x2(:,1),x2(:,2));
axis square;

figure;

% 3d Plot von Beispiel 2 in Abhaengigkeit von t

plot3(t2,x2(:,1),x2(:,2));

% 2d Plot von Beispiel 2 in Abhaengigkeit von t
% (beide Komponenten separat in einer Plotanweisung) 

plot(t2,x2(:,1),t2,x2(:,2));

figure;

% 2d Plot von Beispiel 2 in Abhaengigkeit von t
% (beide Komponenten separat in zwei Plotanweisungen) 

plot(t2,x2(:,1));
hold on;
plot(t2,x2(:,2));
hold off;

figure;

% Verwendung von LineSpec fuer Beispiel 1

plot(t1,x1,'r--o');

figure;

% Verwendung von LineSpec fuer Beispiel 2

plot(t2,x2(:,1),'-k',t2,x2(:,2),':k');

figure;

% Verwendung von Line Properties fuer Beispiel 1

plot(t1,x1,'k-o','LineWidth',2,'MarkerSize',12);

figure;

% Verwendung von label, title und axis 

plot(t1,x1,'k-');
xlabel('t');
ylabel('x(t)');
title('Beispiel 1');
axis([0, 1, 0, 1.5]);


% Beispiel fuer die Verwendung von Handles

figure;
h1 = gca;

figure;
h2 = gca;

plot(h1,x1,'k-');
title(h1,'Grafikfenster mit Handle h1');
xlabel(h1,'t');
ylabel(h1,'x');

plot(h2,t2,x2(:,1));
title(h2,'Grafikfenster mit Handle h2');
xlabel(h2,'t');
ylabel(h2,'x_1');



