function [] = polezeroplot( Bcasc, Acasc )
%[] = POLEZEROPLOT( Bcasc, Acasc )
%POLEZEROPLOT vykreslí do komplexnej roviny póly a nuly prenosu filtru
%Výstupy:   Bcasc - jednotlivé sekcie čitateľa prenosu
%           Acasc - jednotlivé sekcie menovateľa prenosu
         
set(0,'defaulttextinterpreter','Latex');

if nargin<2
    Acasc = [];
end

assert(isnumeric(Bcasc)==1,'Čitateľ prenosu musí pozostávať z číselných hodnôt');
assert(isnumeric(Acasc)==1,'Menovateľ prenosu musí pozostávať z číselných hodnôt');

circle = exp(2*pi*1i*[0:100]/100);
plot(circle); hold on

b = size(Bcasc,1);
a = size(Acasc,1);

distances = [];

%% ZISKANIE A KRESLENIE POLOV A NUL

for i=1:b
    r = roots(Bcasc(i,:));
    plot(real(r),imag(r),'go','MarkerSize',15); 
    dist = (real(r)).^2+(imag(r)).^2;
    if ~isempty(dist) 
    distances(end+1) = sqrt(max(dist));
    end
end

for i=1:a
    r = roots(Acasc(i,:));
    plot(real(r),imag(r),'rx','MarkerSize',15);
    dist = (real(r)).^2+(imag(r)).^2;
    if ~isempty(dist) 
    distances(end+1) = sqrt(max(dist));
    end
end

mxax = max(distances);
axis([-mxax-0.1 mxax+0.1 -mxax-0.1 mxax+0.1]);
axis('square');
grid on;
hold off;

end

