声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1577|回复: 8

[编程技巧] 各位高手帮我看一下这个小波程序的问题(已解决)

[复制链接]
发表于 2007-4-7 21:30 | 显示全部楼层 |阅读模式

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

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

x
小弟对matlab刚接触,实在一窍不通。
我根据以下程序:

load noissin;
s=noissin;
[c,l]=wavedec(s,3,'db4');
[cd1,cd2,cd3]=detcoef(c,l,[1,2,3]);
ca3=appcoef(c,l,'db4',3);
subplot(511);plot(1:1000,s);title('s');
subplot(512);plot(1:l(1),ca3);title('ca3');
subplot(513);plot(1:l(2),cd3);title('cd3');
subplot(514);plot(1:l(3),cd2);title('cd2');
subplot(515);plot(1:l(4),cd1);title('cd1');

得到了三层分解系数。然后希望把noissin信号换成其他的信号文件(文件已上传到附件中) 把第一行改为load 1.txt;第二行改为s=1;但得到的图形都是一条条直线,根本没有波形,这是怎么回事?请各位大虾指教

[ 本帖最后由 eight 于 2007-6-6 11:06 编辑 ]

noissin信号的截图

noissin信号的截图

发生错误的截图

发生错误的截图

1.txt

1.83 KB, 下载次数: 12

我要导入的信号

回复
分享到:

使用道具 举报

发表于 2007-4-7 22:04 | 显示全部楼层
把第一、二行改为以下代码:

  1.    
  2. s = load('1.txt');
复制代码
 楼主| 发表于 2007-4-7 22:33 | 显示全部楼层
感谢回答,但我按你说的改了之后却是这样子的图,请问怎么解决?
会不会是这句plot(1:1000,s);有问题?

[ 本帖最后由 xqjxxqq 于 2007-4-7 22:39 编辑 ]
{8A440445-6CBB-4274-AF1E-122D86CB1964}.jpg
发表于 2007-4-7 22:35 | 显示全部楼层

  1. s = load('1.txt');
  2. s = s';
复制代码

建议多看看matlab语法书,这样一来一回问答倒不如自己先掌握点基础再上来问
 楼主| 发表于 2007-4-7 22:48 | 显示全部楼层
还是和上面一样的情况。
会不会是这句plot(1:1000,s);有问题?

其实这是我们学校的毕业设计,我学的是计算机网络方向竟然被分到了这种题目........
最近一边在外面实习,一边在自学赶这个东西,实在是很辛苦。问过很多论坛都没人理我,这里总算有好心人帮我看了一下。
楼上的大哥愿不愿意加我qq?373514908   我有困难的时候希望能来请教你
发表于 2007-4-7 22:51 | 显示全部楼层
原帖由 xqjxxqq 于 2007-4-7 22:48 发表
还是和上面一样的情况。
会不会是这句plot(1:1000,s);有问题?

其实这是我们学校的毕业设计,我学的是计算机网络方向竟然被分到了这种题目........
最近一边在外面实习,一边在自学赶这个东西,实在是很辛 ...


改为:plot(1:length(s),s);
 楼主| 发表于 2007-4-7 22:58 | 显示全部楼层
成功了!!真得很感谢。
我们导师是个laji,自己对matlab完全不懂不说,有问题就叫我们自己看,解决不了就说我们没好好学.....

以后也许还会来这里请教的,请多关照,不管怎么说都谢谢你了。
 楼主| 发表于 2007-4-7 23:18 | 显示全部楼层
我把程序改为6层分解,但却出现这句话。

s = load('1.txt');
[c,l]=wavedec(s,6,'db4');
[cd1,cd2,cd3,cd4,cd5,cd6]=detcoef(c,l,[1,2,3,4,5,6]);
ca6=appcoef(c,l,'db4',6);
subplot(511);plot(1:length(s),s);title('s');
subplot(512);plot(1:l(1),ca6);title('ca6');
subplot(513);plot(1:l(2),cd6);title('cd6');
subplot(514);plot(1:l(3),cd5);title('cd5');
subplot(515);plot(1:l(4),cd4);title('cd4');
subplot(516);plot(1:l(5),cd3);title('cd3');
subplot(517);plot(1:l(6),cd2);title('cd2');
subplot(518);plot(1:l(7),cd1);title('cd1');


??? Error using ==> subplot
Index exceeds number of subplots.

Error in ==> Untitled at 10
subplot(516);plot(1:l(5),cd3);title('cd3');

请问如何解决?
发表于 2007-4-7 23:34 | 显示全部楼层
原帖由 xqjxxqq 于 2007-4-7 23:18 发表
我把程序改为6层分解,但却出现这句话。

s = load('1.txt');
=wavedec(s,6,'db4');
=detcoef(c,l,);
ca6=appcoef(c,l,'db4',6);
subplot(511);plot(1:length(s),s);title('s');
subplot(512);plot(1:l( ...



subplot(811);
subplot(812);
........
subplot(818);
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-12-13 01:34 , Processed in 0.084267 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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