首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >matlab中矢量与数组的连接绘图

matlab中矢量与数组的连接绘图
EN

Stack Overflow用户
提问于 2017-10-29 21:52:51
回答 1查看 72关注 0票数 2

我想在matlab中创建和显示一个三维外壳(例如,一个有100个元素的桶),并且我有一个厚度矢量( 100 *1),其中包含100个外壳元素的厚度。所以我有一个数组,它包含shell节点和元素的坐标,还有一个向量,它包含shell元素的厚度。

现在,我如何显示这个三维外壳,每个元素,取决于它的厚度是不同的颜色(灰色)?

或者,如何将坐标阵列和厚度矢量结合起来,或将厚度矢量映射到三维壳体的形状上,并显示一个灰色的三维壳体?

编辑:这个问题是关于拓扑优化的。最后,我必须有一个像附件一样的数字。

我有一个大小为100*1的向量,例如1 0 0 1 0.这个向量的名称是厚度向量。“1”表示固体,“0”表示厚度矢量中的空隙。

我有一个数组(XYZ)来绘制三维外壳形状。我把这个三维外壳划分成100个矩形元素。因此,对应于三维壳中的每个元素,我在厚度向量中有一个数字(0或1)。

现在,我如何在输出颜色的3D外壳图上显示每个元素的厚度(例如,在最后的图中,我们可以看到每个实体元素是黑色的,每个元素是无效的元素是白色的)。或者如何链接或映射外壳图上的厚度向量?

图片链接:http://s9.picofile.com/file/8310446684/Capture.JPG

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-30 15:54:58

首先,您可以将yout厚度矢量thickness_V转换为10*10矩阵。

代码语言:javascript
复制
thickness_M = [];
for i = 1:10
    thickness_M = [thickness_M thickness_V(1+10*(i-1):10+10*(i-1))];
end

然后,您可以使用浪花与选项colormap gray相结合,因为您只有两个可能的值,灰色的阴影将仅为白色或黑色。

下面是我刚才做的一个例子:

代码语言:javascript
复制
[X,Y] = meshgrid(1:10);
Z = -(X-5).^2 - (Y-5).^2;
thickness_M = eye(10,10);
s = surf(X, Y, Z, -thickness_M);
colormap gray;

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47005618

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档