function [uzly,prvky,hrany,prvkyHrany,okrajoveUzly,okrajoveHrany] = diskretizuj_obdelnik_pro_multigrid(a,b,h)

nx = floor(a/h);
ny = floor(b/h);
hx = a/nx;
hy = b/ny;

n = (nx+1)*(ny+1);
m = nx*ny*2;

uzly = zeros(2,n);
prvky = zeros(3,m);
okrajoveUzly = [];
okrajoveHrany = [];

hrany = [];
idx_hrany = 1;

prvkyHrany = [];

idx_uzly = 1;
idx_prvky = 1;

for i=0:nx
    x = i*hx;
    
    for j=0:ny
        y = j*hy;
        
        uzly(:,idx_uzly) = [x;y];
        
        if i<nx && j<ny
            hrany = [ hrany , [idx_uzly;idx_uzly+ny+1] , [idx_uzly;idx_uzly+ny+2] , [idx_uzly;idx_uzly+1] ];
            idxHrany1 = idx_hrany;
            idxHrany2 = idx_hrany+1;
            idxHrany3 = idx_hrany+2;
            idxHrany4 = idx_hrany+3;
            if i+1==nx
               idxHrany5 = idx_hrany+3*(ny-j)+1+j; 
            else
              idxHrany5 = idx_hrany+3*ny+3;
            end
            if j==0
                okrajoveHrany = [ okrajoveHrany , idx_hrany ];
            end
            if i==0
                okrajoveHrany = [ okrajoveHrany , idx_hrany+2 ];
            end
            idx_hrany = idx_hrany+3;
        end    
        if i<nx && j==ny
            hrany = [ hrany , [idx_uzly;idx_uzly+ny+1] ];
            okrajoveHrany = [ okrajoveHrany , idx_hrany ];
            idx_hrany = idx_hrany+1;
        end
        if i==nx && j<ny
            hrany = [ hrany , [idx_uzly;idx_uzly+1] ];
            okrajoveHrany = [ okrajoveHrany , idx_hrany ];
            idx_hrany = idx_hrany+1;
        end
        
        if i<nx && j<ny
            idx1 = idx_uzly;
            idx2 = idx_uzly+ny+1;
            idx3 = idx_uzly+ny+2;
            idx4 = idx_uzly+1;
            prvky(:,idx_prvky) = [ idx1 ; idx2 ; idx3 ];
            prvky(:,idx_prvky+1) = [ idx1 ; idx3 ; idx4 ];
            prvkyHrany(:,idx_prvky) = [ idxHrany1 , idxHrany5 , idxHrany2 ];
            prvkyHrany(:,idx_prvky+1) = [ idxHrany2 , idxHrany4 , idxHrany3 ];
            idx_prvky = idx_prvky+2;           
        end
        
        if i==0 || j==0 || i==nx || j==ny
            okrajoveUzly = [ okrajoveUzly , idx_uzly];
        end

        idx_uzly = idx_uzly + 1;
        
    end    
end