matlab中,已知大量点的三维坐标x,y,z ,如何绘制出这个曲面,要网格的曲面,希望写出具体代码 谢谢
这些点是规矩的网格点比如饮料瓶子的形状,用surf会报surface的错误???Errorusing==>surfaceMatrixdimensionsmustagree...
这些点是规矩的网格点 比如饮料瓶子的形状,用surf 会报surface的错误 ??? Error using ==> surface
Matrix dimensions must agree 展开
Matrix dimensions must agree 展开
1个回答
展开全部
看这些点是不是很规矩的网格点的数据。
如果是网格点数据,适当做点重组,就可以用surf函数得到曲面图。
如果不是网格点数据,那么请用griddata函数插值到网格点数据,然后再surf
如:
data=[
1 1 5.14
1 2 9.56
1 3 8.66
2 1 12.55
2 2 10.51
2 3 2.7
3 1 22.03
3 2 22.97
3 3 32.94
4 2 55.58
4 3 24.55
]; %第一列为x,第二列为y,第三列为z
[xx,yy]=meshgrid(1:4,1:3); %生成网格点
zz=griddata(data(:,1),data(:,2),data(:,3),xx,yy,'v4');%你的数据得插值成网格型数据。
surf(xx,yy,zz)
shading interp
================
所谓网格数据:简单地讲,坐标纸是一格一格的,我们要知道每一个交点的高度。
而瓶子,可能问题比较大,因为它不是一个单值函数。
如果是网格点数据,适当做点重组,就可以用surf函数得到曲面图。
如果不是网格点数据,那么请用griddata函数插值到网格点数据,然后再surf
如:
data=[
1 1 5.14
1 2 9.56
1 3 8.66
2 1 12.55
2 2 10.51
2 3 2.7
3 1 22.03
3 2 22.97
3 3 32.94
4 2 55.58
4 3 24.55
]; %第一列为x,第二列为y,第三列为z
[xx,yy]=meshgrid(1:4,1:3); %生成网格点
zz=griddata(data(:,1),data(:,2),data(:,3),xx,yy,'v4');%你的数据得插值成网格型数据。
surf(xx,yy,zz)
shading interp
================
所谓网格数据:简单地讲,坐标纸是一格一格的,我们要知道每一个交点的高度。
而瓶子,可能问题比较大,因为它不是一个单值函数。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询