% Rydd opp
clc
clear
close

% Noen forskjellige matriser fra Kapittel 5.6.

% Vi velger n punkter på en sirkel av radius r og kjører k iterasjoner.

% Eksempel 5.6.2
A = [0.8 0; 0 0.64];
n = 20;
r = 4; 
k = 20;

% Eksempel 5.6.3
%A = [1.44 0; 0 1.2];
%n = 64;
%r = 1/5; 
%k = 20;

% Eksempel 5.6.5
%A = [1.25 -0.75; -0.75 1.25];
%n = 16;
%r = 1; 
%k = 7;

% Eksempel 5.6.6
%A = [0.8 0.5; -0.1 1];
%n = 12;
%r = 4;
%k = 40;

% Plott startvektorer.
hold on
axis equal
axis([-5 5 -5 5])
s = 0:(n-1);
x = r*[cos(2*pi*s/n); sin(2*pi*s/n)];
for j = 0:(n-1)
    c = [(cos(pi*j/(n)))^2,0,(sin(pi*j/(n)))^2];
    plot(x(1,j+1),x(2,j+1),'.','MarkerSize', 20,'Color',c)
end

pause(5)

% Let's go.
for i=1:k
    for j = 0:(n-1)
        c = [(cos(pi*j/(n)))^2,0,(sin(pi*j/(n)))^2];
        y = A*[x(1,j+1); x(2,j+1)];
        x(1,j+1)=y(1);
        x(2,j+1)=y(2);
        plot(x(1,j+1),x(2,j+1),'.','MarkerSize', 20,'Color',c)
    end
    pause(1)
end
