声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1750|回复: 11

[绘图技巧] 三维绘图能否画得好看点

[复制链接]
发表于 2007-8-12 15:01 | 显示全部楼层 |阅读模式

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

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

x
clc;
clear all;
t=0:511;
a=[1.1358e-016 -1.1244e-017i 0.00053603 - 0.0054424i.......]%长度为512
m=length(a);
n=round(log(t)./log(2));
n(1)=0;
plot3(t,n,a,'r')
这个三维图画出来的很不好看,能不能画的好看一点,用mesh,surf等总是有错误

[ 本帖最后由 eight 于 2007-8-15 20:43 编辑 ]

画出的图形

画出的图形

实际的图形 

实际的图形 
回复
分享到:

使用道具 举报

发表于 2007-8-12 15:20 | 显示全部楼层
发现有2个错误:
1,t从0开始,log(0)=-inf;
2,a是复数,在作图时,或取实部,或取虚部,或取模(abs)。

评分

1

查看全部评分

 楼主| 发表于 2007-8-12 15:21 | 显示全部楼层
时频网格图是信号能量分布的三维图形反映。其作法为:以小波系数序号k(对应时间t)为横轴、小波分解层数j(对应频率)为纵轴构成的水平面为基准面作一曲面,其上
各点距离此基准面的高度H(表示能量)为H=2(a)^2
 楼主| 发表于 2007-8-12 15:22 | 显示全部楼层
t=0时候,我强制给n(1)赋值
H=2|a|^2
 楼主| 发表于 2007-8-12 15:26 | 显示全部楼层
怎么把画出的图形能转化成曲面呢?
 楼主| 发表于 2007-8-12 18:50 | 显示全部楼层
三维曲线怎么画成曲面了,我试了
waterfall(t,n,a),,surf,mesh都不对的
发表于 2007-8-12 19:12 | 显示全部楼层

回复 #5 kevin19821 的帖子

填充下颜色(黑色)试试,例如用fill3。
 楼主| 发表于 2007-8-12 19:18 | 显示全部楼层
关键问题是plot3是画曲线的命令,即使填充了颜色,但终究还是曲线,而不是曲面,现在的问题是如何能把上面的画成曲面
 楼主| 发表于 2007-8-12 19:19 | 显示全部楼层
用fill3之后的图形还是不对

[ 本帖最后由 kevin19821 于 2007-8-12 19:44 编辑 ]
发表于 2007-8-12 21:03 | 显示全部楼层
想得到曲面图,就用mesh。看你的意思是想根据t、a画n的曲面。个人觉得给信息不全,没有给出小波系数和幅值的关系。你给的实际的图是由幅值是由小波系数和序列点共同决定的,类似与Z=f(x,y)的形式,这样可以使用mesh。help mesh   help meshgrid
 楼主| 发表于 2007-8-13 09:31 | 显示全部楼层
谢谢楼上的,t=1:512总共512个点,小波分解层数有个函数关系式n=round(log(t)./log(2)),纵坐标n的范围并不能定出来,只能通过这个公式计算,在用mesh(t,n,a)时候,要求t和n为同阶的,但通过n=round(log(t)./log(2))和t不一定为同阶的.可以在下面的图中看到横坐标为0:511,纵坐标为-1:7这两个不是同阶的啊

原图

原图
发表于 2007-8-15 08:16 | 显示全部楼层

回复 #11 kevin19821 的帖子

mesh不要横坐标和纵坐标一样的长度吧
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-18 20:38 , Processed in 0.068139 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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