0

试了很久也没找到解决办法。

我有 3 列数据: x、和每个点y的应力值 ( ) 。我想生成一个 2D 彩色图,显示随着应力大小的连续颜色变化()。应力值从增加到。我只有一个区域的数百个数据点,但我想查看每个位置的应力大小(从颜色中读取)。我应该使用什么 Matlab 命令?S(x,y)S-3*10^4 Pa4*10^4 Pa(x, y)

我想根据使用有限数据点的连续颜色变化制作一个 2D 彩色图,显示S每个位置的应力大小 ( )(x, y)

4

3 回答 3

2

我会使用带有插值着色的补丁:

% 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-09T07:30:46.040 回答
1

查看surfMATLABmesh文档

于 2012-11-09T04:57:45.353 回答
0

进一步为 Gunther Struyf 的回答做出贡献;假设它是 FEM 分析,您可能已经有一个连接矩阵,比如带有节点坐标的“M”和“x”“y”列向量。节点处的应力值可能包含在列向量“S”中;那么您可以使用上述补丁功能:

patch('faces',M,'vertices',[x(:) y(:)],'facevertexcdata',S(:),'FaceColor','interp');

您将获得与 Gunther Struyf 发布的数据相似的二维数据图。

于 2013-11-06T07:33:42.407 回答