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