如何在matlab中为3D矩形中的特定点赋值

时间:2011-12-08 09:53:24

标签: matlab 3d

我想在3D矩形中设置变化的温度梯度。我在真实容器中的指定点处有温度值。我无法弄清楚如何在Matlab中将温度值作为指定点传递给3D容器。让我说我在矩形的一边有10个点,在其他五边都有。 任何建议

2 个答案:

答案 0 :(得分:1)

假设您的矩形容器在空间中定向,其中一个顶点位于(0,0,0),侧面位于x,y和z轴。你有一组点,每个点有3点坐标(x,y,z)。在MATLAB中,它可能由3个向量X,Y和Z表示。每个点也有一个温度值向量(比如T)。

然后您可以使用SCATTER3函数绘制点:

scatter3(X,Y,Z,[],T,'.')

您可以使用值更改用空参数替换的点的大小。

如果只在容器的面上有点,则表示其中一个坐标为0或相应边的大小。

颜色由当前颜色图控制。您可以使用COLORMAP功能进行更改。对于温度,好的是“热”或“冷”。使用COLORBAR显示色阶。

以下是随机数据的示例:

%# random coordinates
X = rand(60,1,1);
Y = rand(60,1,1);
Z = rand(60,1,1);

%# put the points into faces
X(1:10) = 0;
X(10:20) = 1;
Y(20:30) = 0;
Y(30:40) = 1;
Z(40:50) = 0;
Z(50:60) = 1;

%# temperature vector
T = rand(60,1,1) * 100;

%# plot
scatter3(X,Y,Z,[],T,'.')
grid off
box on
colormap hot
colorbar

答案 1 :(得分:0)

Temp=zeros(10,10,10);
Temp(5,2,4)=25;