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

word文档 可自由复制编辑

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。感兴趣的可以在: HYPERLINK "/matlabcentral/fileexchange/23623-ezimplot3-implicit-3d-functions-plotter" \t "_blank" /matlabc ... d-functions-plotter?下载。为了方便大家下载,我特地把 ezimplot3.zip 也上传到这里 :? HYPERLINK "/forum.php?mod=attachment&aid=MTE0MTA1fDc2YzMwNzQ4fDEzOTkyM

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值