其中,k=2*pi/lambda;Rz=z*(z/Z0+Z0/z);Z0=0.5*k*w^2;w=10e-5,lamdba=632*10^-9;m值也是整数,取正负1,2,3等,十分感谢!
相当于4变量的隐函数,我只画了m取3的图,图怪成马了,觉得Rz表达式比较怪,你看看吧,按你的表达式应该没错。
[x,y,z]=meshgrid(-5:5,-5:5,-5:5);
M=3;%可以调节
L=632*10^-9;
K=2*pi/L;W=10^-5;
Z0=1/2*K*W^2;
Rz=z.*(z/Z0+Z0/(z+eps));
v=-(M+1)*atan(2*z/(K*W^2))+K*(x.^2+y.^2)./(2*(Rz+eps))+M*atan(y./(x+eps))+K*z;
[d,m]=isosurface(x,y,z,v,0);
patch('faces',d,'vertices',m,'facevertexcData',jet(length(m)),'facecolor','k','edgecolor','flat');
view(3);axis equal;grid on;