资源描述:
《一个matlab高手十年编程经验的吐血推荐之图形可视化》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、figure>>x=-10:0.2:10;>>y=x;>>[X,Y]=meshgrid(x,y);>>z=(sqrt(X.^2+Y.^2)<6).*(sqrt(6^2-X.^2-Y.^2))+(sqrt(X.^2+Y.^2)>6
2、sqrt(X.^2+Y.^2)==6).*(-1).*((X.^2+Y.^2)/45);>>colordefblack;>>surfl(x,y,z,[1,1,1],[0.55,0.8,0.1,0.1])>>shadingfaceted>>light('position',[0,0,6])>>rotate3d>>view([1,1,1])>>ca
3、mlight>>colormapautumn>>colorbar>>boxoff>>gridoff>>xlabel('x轴');ylabel('y轴');zlabel('z轴');>>materialshiny>>lightingphongx=0:0.1:2*pi;y=x;[X,Y]=meshgrid(x,y);z=cos(X.^2).*(sin(Y)).^2;surf(X,Y,z)xlabel('x轴');ylabel('y轴');zlabel('z轴');title('itz=cos(x^{2})*(sin(y))^{2}')pauseview(0,180)tit
4、le('视角位置(0,180)')holdoffpauseview(180,0)title('视角位置(180,0)')pauseview(0,90)title('视角位置(0,90)')pauseview(90,0)title('视角位置(90,0)')[x,y]=meshgrid(-10:0.2:10);>>z=sqrt(x.^2+y.^2)+eps;>>Z=sin(z)./z;>>mesh(x,y,Z,'EdgeColor','black')mesh(x,y,Z,'EdgeColor','green')plot(plot::Function3d(sin(x+a)*
5、sin(y-a),x=0..PI,y=0..PI,a=0..PI))plot(plot::Implicit3d((x^2+y^2)^2+z^4-y,x=-1.5..1.5,y=-1.5..1.5,z=-2..2),Scaling=Constrained)各位大神,想做(x^2+(9/4)y^2+z^2-1)^3-x^2z^3-(9/80)y^2z^3==0函数的图该怎么编程啊谢谢这是一个三维隐函数,没有显式表达式,无法通过Matlab现成的3-D画图函数surf或mesh画图。遗憾的是,Matlab没有提供的3维隐函数画图函数,所以无法直接画。下面给出两种办法:1.Mu
6、pad符号引擎里提供了三维隐函数画图函数在matlab里开启Mupad的方法是:在commandwindow里输入mupad来启动一个notebook。在启动的notebook里再输入如下代码:1.plot(plot::Implicit3d((x^2+(9/4)*y^2+z^2-1)^3-x^2*z^3-(9/80)*y^2*z^3,x=-1.5..1.5,y=-1.5..1.5,z=-1.5..1.5),Scaling=Constrained)复制代码回车后得到如下图形: (Mupad专注与符号计算,代替了Matlab早起的符号引擎Maple)2.通过ezimplot
7、3实现由于matlab没有提供专门的3维隐函数画图函数,在matlabcentral的fileexchange上有一个非常优秀的绘制3维隐函数的绘图函数,叫ezimplot3。感兴趣的可以在:http://www.mathworks.com/matlabc...d-functions-plotter 下载。为了方便大家下载,我特地把ezimplot3.zip也上传到这里: ezimplot3.zip (3.75KB,下载次数:89) ezimplot3使用方法:解压ezimplot3.zip,将解压得到的ezimplot3.m添加到matlab当前搜索路径后就可以使用了
8、。有了 ezimplot3,我们可以直接在commandwindow输入:1.f=@(x,y,z)(x^2+(9/4)*y^2+z^2-1)^3-x^2*z^3-(9/80)*y^2*z^3;2.ezimplot3(f,[-1.5,1.5]);复制代码得到如下图形: 再给一种只调用matlab的方法figure[x,y,z]=meshgrid(-1.5:.1:1.5,-1:.1:1,-1.5:.1:1.5);v=(x.^2+(9/4)*y.^2+z.^2-1).^3-x.^2.*z.^3-(9/80)*y.^2.*z.^3;p=patc