wszc 发表于 2007-10-11 10:22

求教 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 编辑 ]

wszc 发表于 2007-10-11 10:33

补充

原离散点不是在一条直线上的 
通过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

我觉得错误可能出在这,不知道是不是在找点的时候原离散点与网格距离太远 所有找不到合适点

水私语 发表于 2007-10-11 17:42

你的Z1的数据是3*7的么?周围的都是NAN,是不是因为这个?

wszc 发表于 2007-10-11 20:10

原始的x、y、z应该都是45X1的
是不是因为离散点的位置与网格节点有偏差 所有找不到合适的z值 
所以就认为是NAN啊??
页: [1]
查看完整版本: 求教 mesh 绘图问题