function katenoid(a)

%katenoid(a) - vykresli katenoid, a>0;nepovinny, implicitne a=1

if nargin<1
    a=1;
end

if length(a)>1
   a=real(a(1));    %vezmeme jen realnou cast, resp. prvni prvek 
end

u=-pi:pi/10:pi;
v=-1.5:.2:1.5;
[u,v]=meshgrid(u,v);
%parametricky dany katenoid
x=v;
y=1/a*cosh(a*v).*sin(u);
z=1/a*cosh(a*v).*cos(u);
surf(y,z,x) %vzkresleni na vysku (jako vez)
view(30,20);%pohled na graf
axis equal