Apparently I did not explain this step well enough:
xv = min(Freq(:,1)):max(Freq(:,1));
yv = min(Freq(:,2)):max(Freq(:,2));
[X,Y] = ndgrid(xv,yv);
Z = griddata(Freq(:,1), Freq(:,2), Freq(:,3), X, Y);
The griddata function can interpolate vectors to matrices, here interpolating the three columns of the ‘Freq’ matrix (the three vectors you referred to), to the ‘X’ and ‘Y’ matrices that are created from them. Those matrices are created by ndgrid using the ‘xv’ and ‘yv’ vectors, that are intended to span the entire range of the first two columns of the ‘Freq’ matrix. It then creates the ‘Z’ matrix from them, by mapping the corresponding elements of ‘Freq(:,3)’ to the corresponding elements of ‘Z’.
Your ‘x’ and ‘y’ vectors apparently are not already gridded (they do not regularly repeat in particular patterns, although you did not share those data), so using reshape on them will not work correctly. You must instead interpolate them using griddata.