对于一组坐标的情形,直接用mesh肯定出错。我替楼主把错误帖出来吧:
??? Error using ==> set
View [azimuth elevation] must be a two element vector.
Error in ==> mesh at 128
set(cax,'View',y);
Warning: Z must not be a scalar or vector, not rendering surface.
Warning: Z must not be a scalar or vector, not rendering surface.
Warning: Z must not be a scalar or vector, not rendering surface.
Warning: Z must not be a scalar or vector, not rendering surface.
原因:mesh绘制网格图的时候要求z必须是二维的矩阵,x和y是不是都可以。
这个问题的特殊特殊的地方就是给的是xyz坐标向量,并不是个平面的矩阵。本该最适合用plot3,但是它绘制的又是线图,怎么办呢?虽然以前版面没有没有讨论过完全一样的,但是三维绘图的讨论还是很多的。仔细琢磨下是可以解决的:- a=load('m.txt');
- fill3(a(:,1),a(:,2),a(:,3),rand(1,36));%如果需要特殊填充的网格,自己再想办法
- hold on;
- plot3(a(:,1),a(:,2),a(:,3),'b*');
复制代码 上边提供一种解决的思路,不一定能完全满足楼主的需求,但是希望可以有所启发。
[ 本帖最后由 花如月 于 2007-12-17 20:14 编辑 ] |