用MATLAB画3D图像的问题.
大家好。我刚用MATLAB. 需要高手的帮忙.我做数据挖掘, 要弄数据成像. 现在我有一个文件. 里面有上万个点. 比如说..
X Y Z
0.0 0.0 0.24325877219371428
-119.0 0.0214 -0.38536714085245105
-9.0 0.0642 -0.6639905962684893
-68.0 0.0856 -0.2110314044309649
-118.0 0.107 -0.12362223791790816
-89.0 0.107 -0.7208892321557419
-53.0 0.1498 -0.011445394635502648
-115.0 0.214 -0.03919114965828285
-74.0 0.2354 0.05074486039127324
. . .
. . .
. . .
. . .
我怎么才能用这写数据画出一个3D图像呢?
plot3(x,y,z) 可以画出,但只是点连接着点. 非常不直观. 怎么样画的想mesh等有曲线的图像呢?
我以前是用在JAVA里生成的2D图像. Z的值用不同的颜色来表示.(附件).
现在想通过MATLAB生成3D的图像. 就好像 MESH(PEAKS(25))或者 SURF 一类的曲线图像.
希望懂的朋友可以给点指点.
谢谢大家了
[ 本帖最后由 shfaye 于 2008-1-22 09:20 编辑 ] 拟合对于上万个点来说是不可能的吧? 或者很复杂? 我想像不出来一个曲面穿过上万个点的图像是怎么样.....需要TIPP:mad: mesh() mesh()这些都需要函数或者MATRIX.我现在只有点 试试看griddata,看一下帮助里面的例子 哦。忘记过来回帖了. 问题当天就解决了.....
我把数据分离了出来. 分别储存为3个文件. X 文件里面放的所有的 X的值, 一行(一列也无所谓), Y文件里放所有Y文件的值, Z文件里放的Z的MATRIX.
1 2 3 4 5 6 7 .....
1 x x x x x x x
2 x x x x x x x
3 x x x x x x x
4 x x x x x x x
5 x x x x x x x
.
.
.
有了X,Y和Z 的MATRIX. 问题就解决了.
MESH(X,Y,Z).
呵呵~~
当初的POLT3画出来的现在还不知道是什么.$frage$ 用mesh画完,在用hold on,然后再用plot3(x,y,z, '*'),就知道了,就是你对应的数据点。 3D图片..... LZ你好。我现在也有你这个问题。我现在有3列数据。我想把第一列存为matrix X,第二列为Y,第三列为matrix Z。我是这么弄的。
=textread('filenamen.txt',%f%f%f);
X=;
Y=;
Z=;
然后,我就用mesh(X,Y,Z).但始终用错:
??? Error using ==> mesh
Z must be a matrix, not a scalar or vector.
我要用什么命令才能让X,Y,Z是作为matrix存储呢。
$frage$ LZ快来啊。我真的很急于想解决问题啊。:mad: