2013-07-22 104 views
0

我写了一个3D有限元素代码,并且我在函数C(x,y,z)(FOUND in FEM)上对一堆散射数据(x,y ,z)在球体的表面上。我试图想象在使用MATLAB的surf功能,我已经习惯griddata插值球体的表面上的功能C,但它不工作,我面临着以下问题:在球体表面上散射数据的可视化MATLAB

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

并且我在最后看到的最终数字只是球体的一个不好的部分。

+0

很难使用'surf'来显示一个球体,因为它期望每个(x,y)都有一个Z值,而球体则不是这样(你有一个顶部和底部的半球) 。你可以展示一些数据,你用来生成球体图的代码,以及事物的外观 - 它会使我们更容易帮助你。 – Floris

回答

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)来创建你的情节。如果你研究上面提到的文档,你可能可以根据自己的情况调整上述内容 - 没有关于数据的更多信息,很难用更好的答案来猜测。