diary GersgorinKorok_demo.diary

clear all
clc
disp('Véletlen, egész elemekbõl álló mátrixokat generálunk, és ezekkel tesztelünk');
n = 5                             % az A mátrix dimenziója
maxAelem = 6                      % az elemek maximális abszolút értéke
A = randi([-maxAelem,maxAelem],n)

input('Folytatás ENTER-rel');
disp('Lássuk a köröket:')
GersgorinKorok(A)

input('Folytatás ENTER-rel');
disp('Ábrázoljuk az eig-gel kiszámolt sajátértékeket is (piros keresztek)');
Sajatertekek = eig(A)
for k =1:n
  plot(real(Sajatertekek(k)),imag(Sajatertekek(k)),'linewidth',3,'r+')
  pause(1)
endfor

input('Folytatás ENTER-rel');
disp('A rho(A) <= ||A|| egyenlõtlenség miatt érdemes a mátrixnormákból adódó felsõ');
disp('korlátokat is kiszámolni.');
disp('A legkisebb normának megfelelõ origó középpontú kék kör és a Gersgorin körök ');
disp('metszete is tartalmazza az összes sajátértéket!'); 
minnorm = min([norm(A,2),norm(A,1),norm(A,inf),norm(A,'fro')])
t = 0:pi/100:2*pi;    % Így már elég sima körvonalat kapunk
x = minnorm*cos(t);
y = minnorm*sin(t);
plot(x,y, 'color', 'blue', 'linewidth', 5);
% a középpont:
plot(0, 0,'color', 'black', 'linewidth', 5, '+');
drawnow ()          % néha ez is kell, hogy az elõzõ is megjelenjen az ábrán...

input('Befejezés ENTER-rel');
diary off
