怎么用matlab实现小波变换???急!!!

2024-05-15

1. 怎么用matlab实现小波变换???急!!!

Allnodes  计算树结点  
  appcoef  提取一维小波变换低频系数  
  appcoef2  提取二维小波分解低频系数  
  bestlevt  计算完整最佳小波包树  
  besttree  计算最佳(优)树  
  biorfill  双正交样条小波滤波器组  
  biorwavf  双正交样条小波滤波器  
  centfrq  求小波中心频率  
  cgauwavf  Complex Gaussian小波  
  cmorwavf  coiflets小波滤波器  
  cwt  一维连续小波变换  
  dbaux  Daubechies小波滤波器计算  
  dbwavf  Daubechies小波滤波器  dbwavf(W)   W='dbN'  N=1,2,3,...,50  
  ddencmp  获取默认值阈值(软或硬)熵标准  
  depo2ind  将深度-位置结点形式转化成索引结点形式  
  detcoef  提取一维小波变换高频系数  
  detcoef2  提取二维小波分解高频系数  
  disp  显示文本或矩阵  
  drawtree  画小波包分解树(GUI)  
  dtree  构造DTREE类  
  dwt  单尺度一维离散小波变换  
  dwt2  单尺度二维离散小波变换  
  dwtmode  离散小波变换拓展模式  
  dyaddown  二元取样  
  dyadup  二元插值  
  entrupd  更新小波包的熵值  
  fbspwavf  B样条小波  
  gauswavf  Gaussian小波  
  get  获取对象属性值  
  idwt  单尺度一维离散小波逆变换  
  idwt2  单尺度二维离散小波逆变换  
  ind2depo  将索引结点形式转化成深度—位置结点形式  
  intwave  积分小波数  
  isnode  判断结点是否存在  
函数指  含义  
  istnode  判断结点是否是终结点并返回排列值  
  iswt  一维逆SWT(Stationary Wavelet Transform)变换  
  iswt2  二维逆SWT变换  
  leaves    
  mexihat  墨西哥帽小波  
  meyer  Meyer小波  
  meyeraux  Meyer小波辅助函数  
  morlet  Morlet小波  
  nodease  计算上溯结点  
  nodedesc  计算下溯结点(子结点)  
  nodejoin  重组结点  
  nodepar  寻找父结点  
  nodesplt  分割(分解)结点  
  noleaves    
  ntnode    
  ntree    
  orthfill  正交小波滤波器组  
  plot  绘制向量或矩阵的图形  
  qmf  镜像二次滤波器  
  rbiowavf    
  read  读取二进制数据  
  readtree  读取小波包分解树  
  scal2frq    
  set    
  shanwavf    
  swt  一维SWT(Stationary Wavelet Transform)变换  
  swt2  二维SWT变换  
  symaux    
  symwavf  Symlets小波滤波器  
  thselect  信号消噪的阈值选择  
  thodes    
  treedpth  求树的深度  
  treeord  求树结构的叉数  
  函数指令  含义  
  upcoef  一维小波分解系数的直接重构  
  upcoef2  二维小波分解系数的直接重构  
  upwlev  单尺度一维小波分解的重构  
  upwlev2  单尺度二维小波分解的重构  
  wavedec  单尺度一维小波分解  
  wavedec2  多尺度二维小波分解  
  wavedemo  小波工具箱函数demo  
  wavefun  小波函数和尺度函数  
  wavefun2  二维小波函数和尺度函数  
  wavemenu  小波工具箱函数menu图形界面调用函数  
  wavemngr  小波管理函数  
  waverec  多尺度一维小波重构  
  waverec2  多尺度二维小波重构  
  wbmpen    
  wcodemat  对矩阵进行量化编码  
  wdcbm    
  wdcbm2    
  wden  用小波进行一维信号的消噪或压缩  
  wdencmp    
  wentropy  计算小波包的熵  
  wextend    
  wfilters  小波滤波器  
  wkeep  提取向量或矩阵中的一部分  
  wmaxlev  计算小波分解的最大尺度  
  wnoise  产生含噪声的测试函数数据  
  wnoisest  估计一维小波的系数的标准偏差  
  wp2wtree  从小波包树中提取小波树  
  spbmpen    
  wpcoef  计算小波包系数  
  wpcutree  剪切小波包分解树  
  wpdec  一维小波包的分解  
  wpdec2  二维小波包的分解  
  wpdencmp  用小波包进行信号的消噪或压缩  
  wpfun  小波包函数  
wpjoin    
  wprcoef  小波包分解系数的重构  
  wprec  一维小波包分解的重构  
  wprec2  二维小波包分解的重构  
  wpsplt  分割(分解)小波包  
  wpthcoef  进行小波包分解系数的阈值处理  
  wptree    
  wpviewcf    
  wrcoef  对一维小波系数进行单支重构  
  wrcoef2  对二维小波系数进行单支重构  
  wrev  向量逆序  
  write  向缓冲区内存写进数据  
  wtbo    
  wthcoef  一维信号的小波系数阈值处理  
  wthcoef2  二维信号的小波系数阈值处理  
  wthresh  进行软阈值或硬阈值处理  
  wthrmngr  阈值设置管理  
  wtreemgr  管理树结构  
  wvarchg

怎么用matlab实现小波变换???急!!!

2. 怎样用matlab进行小波变换

那就要看你的数据保存格式是什么样式的,如果是txt的,用load函数进行导入;如果是xls的,可以用xlsread函数进行导入

3. matlab怎样抓取Yahoo/Sina的股票数据

给你一个例程,用于抓取新浪股票2017年1月份的股票数据。程序如下:

clc;
clear;
year=2017;    
season = 1   ;
fprintf('抓取%d年%d季度的数据中...\n', year, season)
[sourcefile, status] = urlread(sprintf('http://vip.stock.finance.sina.com.cn/corp/go.php/vMS_MarketHistory/stockid/000001/type/S.phtml?year=%d&season=%d', year));
expr2 = '(\d*\.?\d*)';
[datafile, data_tokens] = regexp(sourcefile, expr2, 'match', 'tokens'); %从源文件中获取目标数据
data = zeros(size(data_tokens));%产生和数据相同长度的0
for idx = 1:length(data_tokens)
data(idx) = str2double(data_tokens{idx}{1});       %转变数据类型后存入data中
end
%%占坑打个广告,代写matlab程序(毕业设计,课程任务等)
%%信号处理,小波变换,PCA降维,ICA分析,分类器,滤波器等。QQ:1577232787

matlab怎样抓取Yahoo/Sina的股票数据

4. 麻烦小波变换高手分别解释一下MATLAB小波基中db1,db2,...,db10和sym1,...sym4的区别以及怎么选择。

你可以打开小波基来看看它们的数值,画出图来看的话更加直观,附图是我画的,是cdf7/9小波基,和matlab里面的bior4.4类似。db、sym都是小波的名称,或者说是“族”,后面的数字可以看作是这个族里面的长幼次序了。你用图把它们画出来再比较,就一目了然了。
不妨从简单的haar小波基入手,看看它的结构。简单而言,小波基就是一个滤波器,可以结合数字信号处理来理解一下。
不同小波基的选择是个内涵丰富的话题,根据应用不同,选择小波基的方法也不尽相同。对于图像压缩,常用的是cdf小波基,我不知道你的领域是什么,可以考虑用大量实验或者统计分析的方法来确定哪个小波基适合你。比如我在做图像压缩的时候,就试验了各种小波基,最后用PSNR来确定哪个小波基效果更好。
以上。
小波暴走的老狼

5. 如图,使用matlab编程实现小波变换对一幅图像进行处理,从而得出4个座标图。

A = imread('image.bmp');
B = A(:,:,1);
[lowf,highfH,highfV,highfD,C,S] = wavelet2D(double(B),'morlet',2);
function[lowf,highH,highV,highD,C,S] = wavelet2D(signal,wavelet,level)
[C,S]=wavedec2(signal,level,wavelet);
lowf = appcoef2(C,S,wavelet,level);
highH=detcoef2('h',C,S,level);
highV=detcoef2('v',C,S,level);
highD=detcoef2('d',C,S,level);
A = wrcoef2('a',C,S,wavelet,level);
Dh =wrcoef2('h',C,S,wavelet,level);
Dv =wrcoef2('v',C,S,wavelet,level);
Dd =wrcoef2('d',C,S,wavelet,level);
subplot(2,2,1),image(A);
subplot(2,2,2),imshow(Dh);
subplot(2,2,3),imshow(Dv);
subplot(2,2,4),imshow(Dd);

如图,使用matlab编程实现小波变换对一幅图像进行处理,从而得出4个座标图。

6. 小波分析在matlab中实现的具体步骤

%含噪声的三角波与正弦波的组合
%利用db5小波对信号进行7层分解
%生产正弦信号
clc;close all;clear all;
N=1000;
t=1:N;
sig1=sin(0.3*t);
%生成三角形波形
sig2(1:500)=((1:500)-1)/500;
sig2(501:N)=(1000-(501:1000))/500;
figure(1);
subplot(211);
plot(t,sig1,'linewidth',2);
xlabel('样本序号 N');
ylabel('幅值A');
subplot(212);
plot(t,sig2,'linewidth',2);
xlabel('样本序号 N');
ylabel('幅值A');
%叠加信号
x=sig1+sig2+randn(1,N);
figure(2);
plot(t,x,'linewidth',2);
xlabel('样本序号 N');
ylabel('幅值A');%一维小波分解
[c,l]=wavedec(x,7,'db5');%重构第1-7层逼近系数
a7=wrcoef('a',c,l,'db5',7);
a6=wrcoef('a',c,l,'db5',6);
a5=wrcoef('a',c,l,'db5',5);
a4=wrcoef('a',c,l,'db5',4);
a3=wrcoef('a',c,l,'db5',3);
a2=wrcoef('a',c,l,'db5',2);
a1=wrcoef('a',c,l,'db5',1);%显示逼近系数
figure(3)
subplot(711)
plot(a7,'linewidth',2);
ylabel('a7');
subplot(712)
plot(a6,'linewidth',2);
ylabel('a6');
subplot(713)
plot(a5,'linewidth',2);
ylabel('a5');
subplot(714)
plot(a4,'linewidth',2);
ylabel('a4');
subplot(715)
plot(a3,'linewidth',2);
ylabel('a3');
subplot(716)
plot(a2,'linewidth',2);
ylabel('a2');
subplot(717)
plot(a1,'linewidth',2);
ylabel('a1');
xlabel('样本序号 N');%重构第1-7层细节系数
d7=wrcoef('d',c,l,'db5',7);
d6=wrcoef('d',c,l,'db5',6);
d5=wrcoef('d',c,l,'db5',5);
d4=wrcoef('d',c,l,'db5',4);
d3=wrcoef('d',c,l,'db5',3);
d2=wrcoef('d',c,l,'db5',2);
d1=wrcoef('d',c,l,'db5',1);
%显示细节系数
figure(4)
subplot(711)
plot(d7,'linewidth',2);
ylabel('d7');
subplot(712)
plot(d6,'linewidth',2);
ylabel('d6');
subplot(713)
plot(d5,'linewidth',2);
ylabel('d5');
subplot(714)
plot(d4,'linewidth',2);
ylabel('d4');
subplot(715)
plot(d3,'linewidth',2);
ylabel('d3');
subplot(716)
plot(d2,'linewidth',2);
ylabel('d2');
subplot(717)
plot(d1,'linewidth',2);
ylabel('d1');
xlabel('样本序号 N');

7. 关于小波变换的Matlab编程

这是一个带参数的函数 根据下面的参数校验可以看出你应该是直接点运行了吧 所以报错了
你至少应该产生一个输入信号,比如一个正弦信号来做输入进行变换 
。。。谁给你的程序啊 这bug也太多了 很多低级bug 我只是改的能运行了
function [WT,FreqBins,Scales]=CWT_Morlet(Sig,WinLen,nLevel)
%continuous Wavelet Transform using Morlet function
%Sig:信号
%WinLen:小波函数在尺度参数a=1时的长度(默认为10)
%nLevel:频率轴划分区间段(默认为1024)
%
%WT:返回的小波变换计算结果
%FreqBins:返回频率轴划分结果(归一化频率,最高频率为0.5)
%Scales:返回与频率轴划分值相对应的尺度划分(频率0.5对应的尺度为1)
if (nargin==0),
    error('At least 1 parameter required!');
end;


if (nargin<3),
    nLevel=1024;
end
if (nargin<2),
    WinLen=10;
end
Sig=hilbert(real(Sig));%计算信号的解析信号
SigLen=length(Sig);%获取信号的长度
fmax=0.5;%设置最高分析频率
fmin=0.005;%设置最低分析频率
FreqBins=logspace(log10(fmin),log10(0.5),nLevel);%将频率轴在分析范围内等
                                                 %对数坐标划分
Scales=fmax*ones(size(FreqBins))./FreqBins;%计算响应的尺度参数
omg0=WinLen/6;
WT=zeros(nLevel,SigLen);%分配计算结果的存储单元
wait=waitbar(0,'Under calculation,please wait');
for m=1:nLevel,
    waitbar(m/nLevel,wait);
    a=Scales(m);%提取尺度参数
    t=-round(a*WinLen):1:round(a*WinLen);
    Mor1=pi^(-1/4)*exp(1i*2*pi*0.5*t/a).*exp(-t.^2/2/(2*omg0*a)^2);
                                                  %计算当前尺度下的小波函数
    temp=conv(Sig,Mor1)/sqrt(a);                  %计算信号与小波函数的卷积
    WT(m,:)=temp(round(a*WinLen)+1:length(temp)-round(a*WinLen));
end;
close(wait);
WT=WT/WinLen; 




%%%%%%运行示例%%%%%%%%%
Fs=100;
t=0:1/Fs:2*pi;
sig=sin(t);
[WT,FreqBins,Scales]=CWT_Morlet(sig);

关于小波变换的Matlab编程

8. 求matlab的Morlet小波变换代码……谢谢。需要得到如下结果图。

小波分析后,你也没处理,组合起来依然是原信号啊。方差不会变的。你用连续小波变换,得到了1:43尺度下的小波基系数组z(i)。如果你指的是在一定分辨率下,该信号在某个尺度上投射的分量的方差。就用z(i)乘以这个小波φ(τ,σ)基。在用STD求方差呗。