作业帮 > 综合 > 作业

您好我想问一个关于matlab的小问题,我有一段小波去噪的程序,去噪是成功了,但去噪后的数据怎样提取出来

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/16 09:37:38
您好我想问一个关于matlab的小问题,我有一段小波去噪的程序,去噪是成功了,但去噪后的数据怎样提取出来
这是我的程序:
clear
F=fopen('60V.txt','r')
E=fscanf(F,'%8e')
E;
A=length(E);
X=zeros(1);
Y=zeros(1);
for ii=1:A/2
X(ii)=E(2*ii-1,1);
Y(ii)=E(2*ii,1);
end
fclose(F)
X
Y
%画出原始测量信号
plot(X,Y)
title('原始测量信号')
%进行信号降噪处理
%使用sym6执行5层小波分解
wname='sym6';lev=5;
[c,l]=wavedec(Y,lev,wname);
%由第1层的高频系数估计噪声标准差
sigma=wnoisest(c,l,1);
%信号降噪时,采用调整参数选择全局阈值
alpha=20000;
thr=wbmpen(c,l,sigma,alpha)
%使用软阈值和保存的低频信号,进行信号降噪
keepapp=1;
xd=wdencmp('gbl',c,l,wname,lev,thr,'s',keepapp);
%使用使用小波进行一维自动降噪
yd=wden(Y,'heursure','s','one',lev,'sym8');
%画出降噪后的信号
subplot(311),plot(X,Y),title('原始测量信号')
subplot(312),plot(xd),title('wdencmp降噪后的信号')
subplot(313),plot(yd),title('wden降噪后的信号')
程序如上,如何得到小波去噪后的数据?如何提取,还请大侠指点,因为小弟我没财富分数,所以给不了你补偿,
一般情况下,如果想要写到txt文本的话,你使用fprint就行;如果写到二进制文件的话,使用fwrite.当然还有个最简单的办法就是在matlab运行后,在workspace中会有相应的矩阵,你双击,之间将要的数据另存为或者是复制就行.
望采纳