我试了很长时间也找不到解决方案。
我有3列数据:x、y和每个点的应力值(S) (x,y)。我想生成一个2D颜色图,显示随应力大小(S)连续变化的颜色。从-3*10^4 Pa到4*10^4 Pa,应力值逐渐增大。我只有一个区域的数百个数据点,但我想看到每个位置(x, y)的应力大小(从颜色中读取)。我应该使用什么Matlab命令?
我想用有限的数据点,基于连续的颜色变化,制作一个2D颜色图,显示每个位置的应力大小(S) (x, y)
发布于 2012-11-09 15:30:46
我会使用带有插值着色的patch:
% some data, x/y are random
N = 50;
x = rand(N,1);
y = rand(N,1);
S = sin(2*x)+y;
% plotting
tr = delaunay(x,y);
trisurf(tr,x,y,zeros(N,1),S,'FaceColor','interp');
view (2)

发布于 2012-11-09 12:57:45
看一看surf and mesh in the MATLAB documentation
发布于 2013-11-06 15:33:42
为了对Gunther Struyf答案做进一步的贡献;假设它是一个有限元分析,你可能已经有了一个连接矩阵,比如'M‘和'x’'y‘列向量和节点坐标。节点处的应力值可能包含在列向量‘S’中;然后您可以使用上面所述的补丁函数:
patch('faces',M,‘顶点’,x(:) y(:),'facevertexcdata',S(:),'FaceColor','interp');
您将拥有一个与Gunther Struyf发布的数据类似的2D图。
https://stackoverflow.com/questions/13302075
复制相似问题