%Blatt8 A1 Sibylle Rist
close all; clear all; clc;

%Verfahrensmatrizen
A1=[1, 0 , 0 ,0;
    3/2, -1/2, 0, 0;
    23/12, -16/12, 5/12, 0;
    55/24, -59/24, 37/24, -9/24];
A2=[1/2, 1/2, 0, 0, 0;
    5/12, 8/12, -1/12, 0 , 0;
    9/24, 19/24, -5/24, 1/24, 0;
    251/720, 646/720, -264/720, 106/720, -19/720];

%Stabilitaetspolynome
%rho 
r=@(k,z) z.^k-z.^(k-1);
%sigma für Adams-Bashforth(s1) und Adams Moulton (s2)
s1=@(k,z) A1(k,:)* [z.^(abs(k-1));z.^(abs(k-2));z.^(abs(k-3)); z.^(abs(k-4))];
s2=@(k,z) A2(k,:)*[z.^k; z.^(abs(k-1));z.^(abs(k-2));z.^(abs(k-3)); z.^(abs(k-4))];

%exp(i*phi) von 0<=phi<=2*pi
w=exp(1i*linspace(0,2*pi,200));
%Farben für den Plot
c=['r','g', 'b', 'k', 'c'];

%%
%Plot der Stabilitaetsregionen für Adams-Bashforth
figure(1)
for k=1:4
    R=r(k,w)./s1(k,w);
    scatter(real(R),imag(R), c(k), '.');
    hold on;
end
ylabel('Im(z)');
xlabel('Re(z)');
title('Stabilitätsregion Adams-Bashforth mit k Schritten');
legend('k=1', 'k=2', 'k=3', 'k=4');
grid on;
hold off;

%%
%Plot der Stabilitaetsregionen Adams-Moulton-Methode
figure(2)
for k=1:4
    R=r(k,w)./s2(k,w);
    scatter(real(R),imag(R), c(k), '.');
    hold on;
end
ylabel('Im(z)');
xlabel('Re(z)');
title('Stabilitätsregion Adams-Moulton mit k Schritten');
legend('k=1', 'k=2', 'k=3', 'k=4');
axis([-7 1 -3.5 3.5]) 
grid on