经过很长一段时间后,我找不到解决方案。
我有3列数据:x
,y
和每个点S
的压力值((x,y)
)。我想生成一个2D色彩图,显示连续的颜色变化和应力的大小(S
)。压力值从-3*10^4 Pa
增加到4*10^4 Pa
。我只有一个区域有数百个数据点,但我希望在每个位置(x, y)
看到应力大小(从颜色读取)。我应该使用什么Matlab命令?
我想根据使用有限数据点的连续颜色变化制作一个2D色彩图,显示每个位置S
的应力大小((x, y)
)
答案 0 :(得分:2)
我将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)
答案 1 :(得分:1)
答案 2 :(得分:0)
进一步回答Gunther Struyf的回答;假设它是一个FEM分析,你可能已经有一个连接矩阵说'M'和'x''y'列向量与节点坐标。节点处的应力值可以包含在列向量“S”中;那么您可以使用上述补丁功能:
patch('faces',M,'vertices',[x(:) y(:)],'facevertexcdata',S(:),'FaceColor','interp');
您将拥有类似于Gunther Struyf发布的数据的2D图表。