shfaye 发表于 2008-1-22 08:39

用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 编辑 ]

shfaye 发表于 2008-1-22 08:57

拟合对于上万个点来说是不可能的吧? 或者很复杂? 我想像不出来一个曲面穿过上万个点的图像是怎么样.....需要TIPP:mad:

maedebach 发表于 2008-1-22 14:24

mesh()

shfaye 发表于 2008-1-22 14:40

mesh()这些都需要函数或者MATRIX.我现在只有点

911Turbo 发表于 2008-1-26 22:09

试试看griddata,看一下帮助里面的例子

shfaye 发表于 2008-1-27 13:44

哦。忘记过来回帖了. 问题当天就解决了.....

我把数据分离了出来. 分别储存为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$

aileute 发表于 2008-1-27 13:47

用mesh画完,在用hold on,然后再用plot3(x,y,z, '*'),就知道了,就是你对应的数据点。

shfaye 发表于 2008-1-27 14:42

3D图片.....

大肚飞天牛 发表于 2008-2-21 12:52

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$

大肚飞天牛 发表于 2008-2-21 12:56

LZ快来啊。我真的很急于想解决问题啊。:mad:
页: [1] 2 3
查看完整版本: 用MATLAB画3D图像的问题.