Use besselj --- Bessel function of the first kind --- generate J1. I think you need to change aand rto create a "bubble".
I generated the following by modifying xboth yfrom -1:0.01:1and building the anchor points (x,y,f), I don’t know if this is really what you want.
The code
a = 2*pi;
[X Y] = meshgrid(-1:0.01:1,-1:0.01:1);
R = sqrt(X.^2+Y.^2);
f = (2*besselj(1,a*R(:))./R(:)).^2;
mesh(X,Y,reshape(f,size(X)));
axis vis3d;
Doresdoom, axis vis3d; set(gca,'Zscale','Log').

Mesh
