Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
matlab中矢量与数组的连接及绘图_Matlab_Plot - Fatal编程技术网

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

matlab中矢量与数组的连接及绘图,matlab,plot,Matlab,Plot,我想在matlab中创建并显示一个3D壳(例如,一个包含100个元素的桶),我有一个厚度向量(100*1),它包含100个壳元素的厚度。所以我有一个数组,它包含壳节点和元素的坐标,还有一个向量,它包含壳元素的厚度 现在我如何显示这个3D外壳,每个元素,取决于其厚度的值,颜色(灰色)不同 或者,如何将坐标数组和厚度向量联合起来,或者将厚度向量映射到三维壳的形状上,并显示灰色的三维壳 编辑: 这个问题是关于拓扑优化的。最后,我必须有一个像附件一样的形象 我有一个大小为100*1的向量,例如[1 0

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

现在我如何显示这个3D外壳,每个元素,取决于其厚度的值,颜色(灰色)不同

或者,如何将坐标数组和厚度向量联合起来,或者将厚度向量映射到三维壳的形状上,并显示灰色的三维壳

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

我有一个大小为100*1的向量,例如[1 0 0 1 0…]。此向量的名称为“厚度向量”“1”表示厚度向量中的实心,“0”表示空心

我有一个数组(XYZ)用于绘制3D外壳形状。我将这个3D外壳划分为100个矩形元素。所以对应3D外壳中的每个元素,我在厚度向量中有一个数字(0或1)

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


链接到图片:

首先,您可以将厚度向量
thickness\u V
转换为10*10矩阵

thickness_M = [];
for i = 1:10
    thickness_M = [thickness_M thickness_V(1+10*(i-1):10+10*(i-1))];
end
然后,您可以结合使用选项
colormap gray
,因为您只有两个可能的值,所以灰色阴影将仅为白色或黑色

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

[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;

您能否更具体地说明您正在尝试做什么(例如,包括图片),并包括您编写的任何代码,以便其他人可以复制?我不知道我该如何感谢您,我的朋友。你的回答对我来说很好。非常感谢你,我的朋友。再次感谢你的帮助。我用Mindlin–Reissner元素编写了一个关于壳体有限元分析的matlab代码,但代码不正确。你有关于Mindlin–Reissner元素有限元壳体分析的matlab代码吗?你好@sam1361,不幸的是我没有这个代码。。。很抱歉祝你好运