可视化球面上的散乱数据MATLAB

时间:2013-07-22 01:28:36

标签: matlab visualization interpolation

我写了一个三维有限元代码,我在球体表面上的一堆散射数据(x,y,z)上得到了函数C(x,y,z)(有限元中的FOUND)的值。我正在尝试使用MATLAB上的surf来显示函数,我已经使用griddata在球体表面上插入函数C,但它不起作用,我面临以下问题:

  

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

我最后看到的最终数字只是一个很差的领域。

1 个答案:

答案 0 :(得分:0)

如果你看一下matlab documentation for plotting things on a 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)来创建您的情节。如果您研究上面提到的文档,您可以根据自己的情况调整上述内容 - 如果没有关于数据的更多信息,很难猜出更好的答案。