function p = polynom(varargin)
% polynom/polynom - konstruktor polynomu
% p = polynom() % prazdny polynom
% p = polynom(p1) % kopirovaci konstruktor
% p = polynom(1,2,1) % konstruktor z cisel
% p = polynom([1 2 1]) % konstruktor z vektoru

if nargin == 0
    p.koeficienty = []; % prazdny vektor koeficientu
elseif nargin == 1
    vstup = varargin{1}; % prvni vstup
    if isa(vstup,'polynom')
        p.koeficienty = vstup.koeficienty; % priprava struktury
        elses
        p.koeficienty = vstup(:)'; % cislo, vektor i matice => vektor
    end
else % mame vice vstupu
    p.koeficienty = [];  % PRIPRAVA
    for i=1:nargin
        prvek = varargin{i}; % i-ty vstup
        if isa(prvek,'double') % zabyvame se jen vstupy, co jsou ciselne
            p.koeficienty = [p.koeficienty  prvek(:)']; % pripojime na konec
        end % ostatni prvky, napr. typu POLE BUNEK, ignorujeme
    end
end
p = class(p, 'polynom'); % ze struktury udelame OBJEKT tridy 'polynom'