%% Monkikulmiot, ympyrät ja ominaisarvot
close all
% ero parametrisen ja eksplisiittipiirtämisen välillä
% ensin erillään
figure(1)
theta = linspace(0,2*pi,256);
plot(theta,[sin(theta);cos(theta)])
% sitten paramatrisesti
figure(2)
plot(cos(theta),sin(theta))
axis square
%% Monikulmio
% Tämä tavallaan jo tehtiin , mutta näin saadaan N-1 kulmio
N = 9
figure(2)
phi = linspace(0,2*pi,N);
plot(cos(phi),sin(phi))
axis equal

%% Ominaisarvot

% luodaan koordinaatit ympyrälle
x = cos(theta);
y = sin(theta);
coords = [x;y];

%piirretään ympyrä
figure(1)
plot(x,y);
%%
hold on
% Koordinaattiakselit (k on blac"k")
plot([-1.1 1.1],[0 0],'k','linewidth',1)
plot([0 0],[-1.1 1.1],'k','linewidth',1)
% Yksikkövektorit väreineen ja teksteineen
plot([0,1],[0 0],'b','linewidth',3)
plot([0,0],[0 1],'r','linewidth',3)
p1 = text(.5,-.2,'v_1','fontsize',20);
set(p1,'color',[0 0 1])
p2 = text(-.25,.5,'v_2','fontsize',20)
set(p2,'color',[1 0 0])
% Asetelleen akselit ja lopuksi poistetaan näkyvistä.
axis([-1.1 1.1 -1.1 1.1])
axis equal
axis off

%% Luodaan matriisi, lasketaan ominaisvektorit

%A = [7/6 -1/3; 1/3 1/3];
A = rand(2,2); A=A'*A    % Symmetrinen matriisi.
[v,e] = eig(A)
v1 = e(1,1)*v(:,1);v2 = e(2,2)*v(:,2);
plot([0,v1(1)],[0,v1(2)],'b','linewidth',3)
plot([0,v2(1)],[0,v2(2)],'r','linewidth',3)

%% Tehdään lineaarioperaatio

coords = A*coords;
plot(coords(1,:),coords(2,:),'k');

%%
w1=A*v(:,1)
w2=A*v(:,2)
plot(-[0,w1(1)],-[0,w1(2)],'b','linewidth',3)
plot(-[0,w2(1)],-[0,w2(2)],'r','linewidth',3)

%hold off 