作业帮 > 数学 > 作业

用matlab如何绘画三维隐函数,如下式f=arctan(2z)+(x^2+y^2)/(z^2+1)+arctan(y/

来源:学生作业帮 编辑:拍题作业网作业帮 分类:数学作业 时间:2024/05/22 01:41:34
用matlab如何绘画三维隐函数,如下式f=arctan(2z)+(x^2+y^2)/(z^2+1)+arctan(y/x)+z=0
我再修改下方程,你能帮我完善下吗?
原方程是f=-(m+1)*arctan(2z/(k*w^2))+k*(x^2+y^2)/(2*Rz)+m*arctan(y/x)+k*z;其中,k=2*pi/lambda;Rz=z*(z/Z0+Z0/z);Z0=1/2*k*w^2;w=10e-5,lamdba=632*10^-9;m值也是整数,取正负1,2,3等,调节m值。也就是变量还是x,y,z,令f=0的曲面图形,本质上没有变化。
[x,y,z]=meshgrid(-5:5,-5:5,-5:5);
v=atan(2*z)+(x.^2+y.^2)./(z.^2+1)+atan(y./(x+eps))+z;
p=patch(isosurface(x,y,z,v,0),'facecolor','r','edgecolor','none','facelighting','gouraud');
isonormals(x,y,z,v,p);axis tight equal;view(3);camlight;grid on;
 

 
或者[x,y,z]=meshgrid(-5:5,-5:5,-5:5);
v=atan(2*z)+(x.^2+y.^2)./(z.^2+1)+atan(y./(x+eps))+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;