0

我编写了一个 3D 有限元代码,我在球体表面上的一堆分散数据 (x,y,z) 上获得了函数 C(x,y,z)(FEM 中的 FOUND)的值。我正在尝试surf在 MATLAB 上使用函数来可视化该函数,并且我已经习惯griddata在球体表面上插入函数 C,但是它不起作用,我面临以下问题:

警告:检测到重复的 xy 数据点:使用 z 值的平均值

我最后看到的最终数字只是球体的一小部分。

4

1 回答 1

0

如果您查看matlab 文档中给出的在 sphere 上绘制事物的示例,您将看到(除其他外)以下代码行:

k = 5;
n = 2^k-1;
[x,y,z] = sphere(n);
c = hadamard(2^k);
surf(x,y,z,c);
colormap([1  1  0; 0  1  1])
axis equal

在这种情况下,表面上的点由它们的 (x, y, z) 系数定义,颜色由矩阵c和颜色图确定[1 1 0; 0 1 1]。您描述的错误表明您正在使用surf(x,y,z)而不是surf(x,y,z,c)创建您的情节。如果您研究上面引用的文档,您可能能够根据您的情况调整以上内容 - 如果没有关于您的数据的更多信息,很难猜测出更好的答案。

于 2013-07-22T02:19:11.137 回答