声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 4993|回复: 15

[编程技巧] 三维图Z轴怎样表示、确定。用mesh?。

  [复制链接]
发表于 2010-10-20 16:24 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

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

评分

1

查看全部评分

回复
分享到:

使用道具 举报

发表于 2010-10-20 19:17 | 显示全部楼层
help surf
发表于 2010-10-20 22:13 | 显示全部楼层
用mesh和surf应该都是可以的
发表于 2010-10-20 23:24 | 显示全部楼层
总感觉没能了解LZ要什麽:@)
X=[200  400  600  800  1000  1200];
Y=[100  150  200  250    300    350];
Z1= [0.97  0.976   0.987   0.98   0.973    0.96];
Z2= [0.85  0.843   0.867   0.87   0.884    0.891];
plot3(X,Y,Z1,'o'); hold on
plot3(X,Y,Z2,'o')
 楼主| 发表于 2010-10-23 18:21 | 显示全部楼层
回复 ChaChing 的帖子

非常感谢热心帮忙,但是这样画出来是两条线条,,能不能进一步改进一下,用mesh或者surf把它改变成 曲面型的或者立体网状型的,,,但是要是这样做的话,我不知道Z轴怎样去确定,是不是Z轴必须用一个函数式子来表示呢??
发表于 2010-10-23 18:53 | 显示全部楼层
想用mesh或是surf画曲面图,x,y可以是矩阵,也可以是向量,但第三维数据z必须是矩阵,否则会出错,你给的数据只能画出三维的曲线图,正如版主ChaChing给出的那样!
你应该把问题再说的详细一点!

点评

我已经不是了! :)  发表于 2010-10-23 21:03

评分

1

查看全部评分

 楼主| 发表于 2010-10-24 09:41 | 显示全部楼层
回复 zhouyang664 的帖子

哦,我想画一个在不同网络规模下(设定为X轴),不同时间点上(设定为Y轴),网络的覆盖度的变化(Z轴)的 三维图。
X=200  400  600  800  1000  1200--------------------不同网络规模
Y=100  150  200  250    300    350--------------------不同时间点上

Z1代表一个曲面,它在不同时间点上的覆盖度是分别是  0.97  0.976   0.987   0.98   0.973    0.96
Z2代表用另外一种方法得到的另一个曲面,在不同点时间点上的覆盖度分别是  0.85  0.843   0.867   0.87   0.884    0.891
由此,我想把Z1,和Z2所表示的两个曲面都表示在一个三维坐标图中,
但是 ,我不知道 怎样去 总结得到 第三位数据Z(这个矩阵)?  谢谢各位大侠
 楼主| 发表于 2010-10-24 09:45 | 显示全部楼层
回复 小鸟的翅膀 的帖子

比如说这个例子 :
mesh函数
>> [X Y]=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函数
>> [X Y]=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=200  400  600  800  1000  1200--------------------不同网络规模
Y=100  150  200  250    300    350--------------------不同时间点上

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

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

>> mesh(X, Y, Z)
这个例子中的Z是怎样得出的呢 ,?? Z必须用一个函数表达式得到么??
在我要画出的图中,我想把Z轴的坐标 限定在0到1 这个范围内。那么我由 Z1和Z2怎样去得到  第三维数据Z呢
发表于 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的热心帮助,结合你说的,我在琢磨琢磨。。
发表于 2010-10-24 16:52 | 显示全部楼层
回复 zhouyang664 的帖子

一日版主,终生版主!
这是我上的第一个matlab论坛,在这里认识了ChaChing,
同时学到了许多东西!!!
发表于 2010-10-24 20:47 | 显示全部楼层
回复 zhouyang664 的帖子

客气, 个人使用的版本(v5.3)真正很跟不上时代!:@)
是来这里跟大家一起学习的, 虽已不管理, 还是希望LS常来共同精进
发表于 2010-12-6 21:52 | 显示全部楼层
回复 10 # 小鸟的翅膀 的帖子

Z1,和Z2如何表示一个曲面啊?你描述的是曲线。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-7 20:56 , Processed in 0.059141 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表