请求高人解答matlab小波包降噪问题,急急急,,,,,
答案:1 悬赏:0 手机版
解决时间 2021-11-29 03:52
- 提问者网友:缘字诀
- 2021-11-28 10:36
请求高人解答matlab小波包降噪问题,急急急,,,,,
最佳答案
- 五星知识达人网友:不想翻身的咸鱼
- 2021-11-28 10:42
按照你上面的代码,a3 dd3 dd2 dd1是应该都为行向量,它们的长度a3和dd3长度相等,dd2约等于其一倍,dd1又是dd2的约一倍左右,c1=[a3 dd3 dd2 dd1]是4个行向量按顺序依次组成总小波系数数组,这代码没啥问题,waverec和wavedec函数都是依靠CL组构的,它对C处理没啥难以理解的,L数组存放的就是a3 dd3 dd2 dd1长度值,靠他在C中取出最高阶的a和其他各阶的d,a和d的小波系数本来就不等长,这样才能实现DWT理论中各层分解中小波函数伸长的效果。就是因为它们不等长,用元胞数组操作太麻烦,所以才把系数混排成一行,再加一个长度数组L共同操作来访问数据。所以不知道你对这有啥疑问?追问谢谢您的回答,但是它还是运行不出来哦,
不知道是不是我的数据文件问题还是其他问题呢??我该怎么修改呢?方便加您的qq吗?谢谢您了,辛苦一下你哈
追答这不是小波的问题,这是matlab基本数组操作的问题,你的截图已经非常清楚了,你的原始数据一定是列向量,所以所有a,d都是列向量,而你dd都创建的是行向量,于是c1=[a3 dd3 dd2 dd1]这个代码是错的,你将s改为行向量即可,即在s=[c1(num), c2(num)];后添加一句s=s.';。
不知道是不是我的数据文件问题还是其他问题呢??我该怎么修改呢?方便加您的qq吗?谢谢您了,辛苦一下你哈
追答这不是小波的问题,这是matlab基本数组操作的问题,你的截图已经非常清楚了,你的原始数据一定是列向量,所以所有a,d都是列向量,而你dd都创建的是行向量,于是c1=[a3 dd3 dd2 dd1]这个代码是错的,你将s改为行向量即可,即在s=[c1(num), c2(num)];后添加一句s=s.';。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯