Plotting a 3D surface
2 次查看(过去 30 天)
显示 更早的评论
Hello everyone, I am trying to plot a 3D surface and colouring it according to the values of a 4th variable (vector). This vector contains the values of the 4th variable for each node of the surface. For instance:
% Surface definition (9 elements, 16 *nodes*)
x = linspace(0,1,3);
y = linspace(0,1,3)';
[X,Y] = meshgrid(x,y);
Z = (X.^3) - 3*X.*(Y.^2);
% 4th dimension (temperature for each node)
T = [0, 0, 0, 0, 0, 10, 10, 10, 0, 10, 20, 20, 0, 10, 20, 30];
Other possibility would be treating the nodes as voxels and plot each voxel with its corresponding temperature color, but I have not found a way to do it either.
Thank you so much. M.
0 个评论
回答(1 个)
Yuvaraj Venkataswamy
2018-8-22
Try this,
if true
x = linspace(0,1,3);
y = linspace(0,1,3)';
[X,Y] = meshgrid(x,y);
Z = (X.^3) - 3*X.*(Y.^2);
T = [0, 0, 0, 0, 0, 10, 10, 10, 0, 10, 20, 20, 0, 10, 20, 30];
surf(X,Y,Z,T)
colorbar
end
2 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Surface and Mesh Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!