小鸟的翅膀 发表于 2010-10-20 16:24

三维图Z轴怎样表示、确定。用mesh?。

大家好,我刚接触MATLAB没有多久,现在需要用MATLAB画一个三维的曲面图,或者曲线图,
但是不知道画三维图的时候,Z轴怎样去确定,并且怎样表示出来,请高人指教!
比如说,现在我想画一个在不同网络规模下(设定为X轴),不同时间点上(设定为Y轴),网络的覆盖度的变化(Z轴)的 三维图。
X=20040060080010001200
Y=100150200250    300    350
Z1= 0.970.976   0.987   0.98   0.973    0.96
Z2= 0.850.843   0.867   0.87   0.884    0.891
那么 Z怎样表达呢?
(在这里画成曲线时,应该比较容易画)
怎么用命令把这两个曲面给表示出来呢?恳请高手帮助

VibrationMaster 发表于 2010-10-20 19:17

help surf

Walker0728 发表于 2010-10-20 22:13

用mesh和surf应该都是可以的

ChaChing 发表于 2010-10-20 23:24

总感觉没能了解LZ要什麽:@)
X=;
Y=;
Z1= ;
Z2= ;
plot3(X,Y,Z1,'o'); hold on
plot3(X,Y,Z2,'o')

小鸟的翅膀 发表于 2010-10-23 18:21

回复 ChaChing 的帖子

非常感谢热心帮忙,但是这样画出来是两条线条,,能不能进一步改进一下,用mesh或者surf把它改变成 曲面型的或者立体网状型的,,,但是要是这样做的话,我不知道Z轴怎样去确定,是不是Z轴必须用一个函数式子来表示呢??

zhouyang664 发表于 2010-10-23 18:53

想用mesh或是surf画曲面图,x,y可以是矩阵,也可以是向量,但第三维数据z必须是矩阵,否则会出错,你给的数据只能画出三维的曲线图,正如版主ChaChing给出的那样!
你应该把问题再说的详细一点!

小鸟的翅膀 发表于 2010-10-24 09:41

回复 zhouyang664 的帖子

哦,我想画一个在不同网络规模下(设定为X轴),不同时间点上(设定为Y轴),网络的覆盖度的变化(Z轴)的 三维图。
X=20040060080010001200--------------------不同网络规模
Y=100150200250    300    350--------------------不同时间点上

Z1代表一个曲面,它在不同时间点上的覆盖度是分别是0.970.976   0.987   0.98   0.973    0.96
Z2代表用另外一种方法得到的另一个曲面,在不同点时间点上的覆盖度分别是0.850.843   0.867   0.87   0.884    0.891
由此,我想把Z1,和Z2所表示的两个曲面都表示在一个三维坐标图中,
但是 ,我不知道 怎样去 总结得到 第三位数据Z(这个矩阵)?谢谢各位大侠

小鸟的翅膀 发表于 2010-10-24 09:45

回复 小鸟的翅膀 的帖子

比如说这个例子 :
mesh函数
>> =meshgrid(-2:.1:2, -2:.1:2);

>> Z = X.^2 - Y.^2;

>> mesh(X, Y, Z)
他这个上面的Z是怎样得出的呢 ,?? Z必须用一个函数表达式得到么??
在我要画出的图中,我想把Z轴的坐标 限定在0到1 这个范围内。

小鸟的翅膀 发表于 2010-10-24 09:45

回复 zhouyang664 的帖子

比如说这个例子 :
mesh函数
>> =meshgrid(-2:.1:2, -2:.1:2);

>> Z = X.^2 - Y.^2;

>> mesh(X, Y, Z)
他这个上面的Z是怎样得出的呢 ,?? Z必须用一个函数表达式得到么??
在我要画出的图中,我想把Z轴的坐标 限定在0到1 这个范围内。

小鸟的翅膀 发表于 2010-10-24 09:52

回复 ChaChing 的帖子

哦,我想画一个在不同网络规模下(设定为X轴),不同时间点上(设定为Y轴),网络的覆盖度的变化(Z轴)的 三维图。
X=20040060080010001200--------------------不同网络规模
Y=100150200250    300    350--------------------不同时间点上

Z1代表一个曲面,它在不同时间点上的覆盖度是分别是0.970.976   0.987   0.98   0.973    0.96
Z2代表用另外一种方法得到的另一个曲面,在不同点时间点上的覆盖度分别是0.850.843   0.867   0.87   0.884    0.891
由此,我想把Z1,和Z2所表示的两个曲面都表示在一个三维坐标图中,
但是 ,我不知道 怎样去 总结得到 第三位数据Z(这个矩阵)?谢谢各位大侠
------------------------
比如说这个例子 :
mesh函数
>> =meshgrid(-2:.1:2, -2:.1:2);

>> Z = X.^2 - Y.^2;

>> mesh(X, Y, Z)
这个例子中的Z是怎样得出的呢 ,?? Z必须用一个函数表达式得到么??
在我要画出的图中,我想把Z轴的坐标 限定在0到1 这个范围内。那么我由 Z1和Z2怎样去得到第三维数据Z呢

ChaChing 发表于 2010-10-24 11:05

说真的, 个人很不喜欢如此发帖问问题的方式, 请考量使用编辑功能:@Q
以前个人可能直接扣分再删帖, 现在上面已不鼓励扣分了(收回了:@L), 管理风格不同, 这也是个人离开版主的原因之一:@)

...Z1代表一个曲面...
个人水平有限, 明明就是一直线, 为何说Z1代表一个曲面?
Z1=0.97是否表示X=200/Y=100所对应的值? 即表示的意义是, "在200网络规模及在100时间点上的覆盖度为0.97" ?
若真是曲面, 理论上应该是一个矩阵!
还有help下griddata, waterfall, pcolor ..., 看看有没用

小鸟的翅膀 发表于 2010-10-24 14:45

回复 ChaChing 的帖子

en ,非常感谢 ChaChing的热心帮助,结合你说的,我在琢磨琢磨。。

zhouyang664 发表于 2010-10-24 16:52

回复 zhouyang664 的帖子

一日版主,终生版主!
这是我上的第一个matlab论坛,在这里认识了ChaChing,
同时学到了许多东西!!!

ChaChing 发表于 2010-10-24 20:47

回复 zhouyang664 的帖子

客气, 个人使用的版本(v5.3)真正很跟不上时代!:@)
是来这里跟大家一起学习的, 虽已不管理, 还是希望LS常来共同精进

w89986581 发表于 2010-12-6 21:52

回复 10 # 小鸟的翅膀 的帖子

Z1,和Z2如何表示一个曲面啊?你描述的是曲线。
页: [1] 2
查看完整版本: 三维图Z轴怎样表示、确定。用mesh?。