找回密码
 注册
关于网站域名变更的通知
查看: 839|回复: 3
打印 上一主题 下一主题

请教如何画四维图(4D-plot)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-6-9 09:53 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x

* i) @( l$ d* b. [9 F        想用matlab建一个地下地质体模型,大致是一个长方体。这个长方体由很多个单位立方体组成,并且每个单元都有一个数值,用颜色显示数值的大小,数值都是非负数,0值显示无色,即这个单元不显示。
# t# E- J, q7 i' E4 J" ]        也就是在matlab里可以用什么方法画这样的四维图,变量为[x,y,z,v],[x,y,z]确定小单元的位置,v表示大小并用颜色显示,0值是无色(这个若不好处理显示一种背景色也可以)。4 P6 d/ Z2 W9 ~* L2 p: S( E6 C! F* q! B
         我用了slice试一下,但没达到想要的效果(理想的模型,就像魔方从上表面第一层第二层拿掉几个小方块)。   求指点!* h, d, n4 Q5 {( f/ ^9 x: T
  • %用切片函数构出长方体
  • [x,y,z]=meshgrid(-1:.1:1,-1:.1:1,-3:.1:3);
  • %画图范围
  • v=x.*exp(-x.^2-y.^2-z.^2);
  • %计算函数值
  • slice(x,y,z,v,[],[],-2:.01:2,'linear');
  • axis([-3 3 -3 3 -3 3]);
  • shading flat- H- u- m. g8 s! @

% P* V8 [0 K% h% l7 S7 ]' D

该用户从未签到

2#
发表于 2021-6-9 10:49 | 只看该作者
下面不是有代码了吗

该用户从未签到

3#
发表于 2021-6-9 13:35 | 只看该作者
你这个要求有点厉害了啊

该用户从未签到

4#
发表于 2021-6-9 13:58 | 只看该作者

8 u+ \6 }+ B- z! I" g" ^" h因为slice画图的时候,默认的 EdgeColor 是黑色,所以,尽管你将颜色数据设置为了NAN, 仍会显示黑色的edge。下面的设置去掉了edge颜色。另外,为了便于观察,调整了一下视角:
/ m+ K9 B/ F& m/ b2 I" o$ C
  • [x,y,z] = meshgrid(0:.5:10,0:.5:10,0:.5:10);
  • c = x.^2+y.^2+z.^2;
  • xs = 0:0.5:10;
  • ys = xs;
  • zs = xs;
  • c(7:15,7:15,13:21)=NaN;
  • h = slice(x,y,z,c,xs,ys,zs);
  • set(h,'FaceColor','interp',...
  •     'EdgeColor','none')
  • camproj perspective
  • box on
  • view(-70,70)
  • colormap hsv
  • colorbar
    . @0 z& P$ d1 g' O$ {' r2 C$ H9 U* r

; W$ N6 q1 Z4 N  |; r( B( U; V3 D效果如下:
2 n: w- O. \* ^& N3 L3 e7 G' t
) {7 j+ }* Y" u/ k0 C7 ]+ K* N5 z. v7 b; P. C2 @
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-24 00:46 , Processed in 0.156250 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表