matlab 4d绘图,一个matlab高手十年编程经验的吐血推荐之图形可视化.doc

一个matlab高手十年编程经验的吐血推荐之图形可视化

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|sqrt(X.^2+Y.^2)==6).*(-1).*((X.^2+Y.^2)/45);

>> colordef black;

>> surfl(x,y,z,[1,1,1],[0.55,0.8,0.1,0.1])

>> shading faceted

>> light('position',[0,0,6])

>> rotate3d

>> view([1,1,1])

>> camlight

>> colormap autumn

>> colorbar

>> box off

>> grid off

>> xlabel('x轴');ylabel('y轴');zlabel('z轴');

>> material shiny

>> lighting phong

x=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('\it z=cos(x^{2})*(sin(y))^{2}')

pause

view(0,180)

title('视角位置(0,180)')

hold off

pause

view(180,0)

title('视角位置(180,0)')

pause

view(0,90)

title('视角位置(0,90)')

pause

view(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)*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. Mupad符号引擎里提供了三维隐函数画图函数在matlab里开启Mupad的方法是:在command window 里输入 mupad 来启动一个notebook。在启动的notebook里再输入如下代码:

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. 通过 ezimplot3 实现由于matlab没有提供专门的3维隐函数画图函数,在 matlab central 的 file exchange 上有一个非常优秀的绘制3维隐函数的绘图函数,叫 ezimplot3。感兴趣的可以在:/matlabc ... d-functions-plotter?下载。为了方便大家下载,我特地把 ezimplot3.zip 也上传到这里 :?ezimplot3.zip?(3.75 KB, 下载次数: 89)?ezimplot3 使用方法:解压ezimplot3.zip,将解压得到的 ezimplot3.m 添加到matlab当前搜索路径后就可以使用了。有了??ezimplot3,我们可以直接在 command window 输入:

f = @(x,y,z) (x^2 + (9/4)*y^2 + z^2

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值