function gershdisc(A) %% Spočte a vykreslí přesná vlastní čísla a Geršgorinovi kruhy pro matici A. R = sum(abs(A),2)-abs(diag(A)); % poloměry jsou sumy mimodiag. prvků % Kreslíme přes řádky A jednotlivé kruhy: B=256; % zvolíme body pro vykreslení kruhu t=(0:B)*2*pi/B; N = size(A,1); for i=1:N h=real(A(i,i)); % souřadnice středu je diag. prvek k=imag(A(i,i)); plot(R(i)*cos(t)+h,R(i)*sin(t)+k,'-'); % vykreslení Gerš. kruhu hold on; plot(h, k,'+'); % střed Gerš. kruhu end axis equal; % čtvercové osy pro vizualizaci % Výpočet přesných vl.č.: lambda=eig(A); rev=plot(real(lambda),imag(lambda),'ro'); legend(rev,'Actual Eigenvalues'); end