求教 mesh 绘图问题
求教各位我使用matlab计算得到了某曲面的三维坐标x、y、z
希望通过mesh得到其曲面图 使用下列程序
x1=linspace(0,6.2,5);
y1=linspace(0,50,9);
= meshgrid(x1,y1);
ZI =griddata(x,y,z,XI,YI);
cmap = colormap;
mesh(XI,YI,ZI);
axis([-1 7 -5 55 -0.02 0.02]);
hold on;
由上程序希望得到结果是沿x方向曲面上取5个点,y方向取9个点
但是得到的结果如图:
其中o点表示原曲面离散点。
不知道为什么曲面实际效果只划分为3X7的网格
[ 本帖最后由 eight 于 2007-10-11 10:50 编辑 ]
补充
原离散点不是在一条直线上的通过ZI =griddata(x,y,z,XI,YI);得到的数据结果如下:
NaN NaN NaN NaN NaN
NaN 2.6655e-006 2.53e-006 2.3716e-006 NaN
NaN 2.7512e-006 2.5963e-006 2.416e-006 NaN
NaN 2.8499e-006 2.6734e-006 2.4668e-006 NaN
NaN 2.963e-006 2.762e-006 2.5258e-006 NaN
NaN 3.089e-006 2.8632e-006 2.5919e-006 NaN
NaN 3.2395e-006 2.9761e-006 2.6654e-006 NaN
NaN 3.4063e-006 3.1071e-006 2.7406e-006 NaN
NaN NaN NaN NaN NaN
我觉得错误可能出在这,不知道是不是在找点的时候原离散点与网格距离太远 所有找不到合适点 你的Z1的数据是3*7的么?周围的都是NAN,是不是因为这个? 原始的x、y、z应该都是45X1的
是不是因为离散点的位置与网格节点有偏差 所有找不到合适的z值
所以就认为是NAN啊??
页:
[1]