首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >得到一个可用小波函数的列表

得到一个可用小波函数的列表
EN

Stack Overflow用户
提问于 2014-06-14 08:41:20
回答 1查看 1.1K关注 0票数 1

在Matlab中,我可以使用waveletfamilies显示每个家族中所有可用小波的名称,但是我希望有一个可用小波函数的列表,这样我可以在我的脚本中迭代它。这样的列表是否存在于Matlab中,还是我必须手动创建?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-24 19:59:22

为此,我创建了一个函数:

代码语言:javascript
运行
AI代码解释
复制
function [ wavelet_names ] = get_all_wavelet_names(  )
%GET_ALL_WAVELET_NAMES Get a list of available wavelet functions

%% Construct a cell array containing all the wavelet names
wavelet_haar_names = {'haar'};
wavelet_db_names = {'db1'; 'db2'; 'db3'; 'db4'; 'db5'; 'db6'; 'db7'; 'db8'; 'db9'; 'db10'};
wavelet_sym_names = {'sym2'; 'sym3'; 'sym4'; 'sym5'; 'sym6'; 'sym7'; 'sym8'};
wavelet_coif_names = {'coif1'; 'coif2'; 'coif3'; 'coif4'; 'coif5'};
wavelet_bior_names = {'bior1.1'; 'bior1.3'; 'bior1.5'; 'bior2.2'; 'bior2.4'; 'bior2.6'; 'bior2.8'; 'bior3.1'; 'bior3.3'; 'bior3.5'; 'bior3.7'; 'bior3.9'; 'bior4.4'; 'bior5.5'; 'bior6.8'};
wavelet_rbior_names = {'rbio1.1'; 'rbio1.3'; 'rbio1.5'; 'rbio2.2'; 'rbio2.4'; 'rbio2.6'; 'rbio2.8'; 'rbio3.1'; 'rbio3.3'; 'rbio3.5'; 'rbio3.7'; 'rbio3.9'; 'rbio4.4'; 'rbio5.5'; 'rbio6.8'};
wavelet_meyer_names = {'meyr'};
wavelet_dmeyer_names = {'dmey'};
wavelet_gaus_names = {'gaus1'; 'gaus2'; 'gaus3'; 'gaus4'; 'gaus5'; 'gaus6'; 'gaus7'; 'gaus8'};
wavelet_mexh_names = {'mexh'};
wavelet_morl_names = {'morl'};
wavelet_cgau_names = {'cgau1'; 'cgau2'; 'cgau3'; 'cgau4'; 'cgau5'};
wavelet_shan_names = {'shan1-1.5'; 'shan1-1'; 'shan1-0.5'; 'shan1-0.1'; 'shan2-3'};
wavelet_fbsp_names = {'fbsp1-1-1.5'; 'fbsp1-1-1'; 'fbsp1-1-0.5'; 'fbsp2-1-1'; 'fbsp2-1-0.5'; 'fbsp2-1-0.1'};
wavelet_cmor_names = {'cmor1-1.5'; 'cmor1-1'; 'cmor1-0.5'; 'cmor1-1'; 'cmor1-0.5'; 'cmor1-0.1'};

% Concatenate all wavelet names into a single cell array 
wavelet_categories_names = who('wavelet*names');
wavelet_names = {};
for wavelet_categories_number=1:size(wavelet_categories_names,1)
    temp = wavelet_categories_names(wavelet_categories_number);
    temp = eval(temp{1});
    wavelet_names = vertcat(wavelet_names, temp);
end


end

它返回R2014a中所有不需要数学符号工具箱的小波,即不包括在http://www.mathworks.com/help/wavelet/ref/waveletfamilies.html上没有显式列出的小波名称,例如**、db**等等:

代码语言:javascript
运行
AI代码解释
复制
'bior1.1'
'bior1.3'
'bior1.5'
'bior2.2'
'bior2.4'
'bior2.6'
'bior2.8'
'bior3.1'
'bior3.3'
'bior3.5'
'bior3.7'
'bior3.9'
'bior4.4'
'bior5.5'
'bior6.8'
'cgau1'
'cgau2'
'cgau3'
'cgau4'
'cgau5'
'cmor1-1.5'
'cmor1-1'
'cmor1-0.5'
'cmor1-1'
'cmor1-0.5'
'cmor1-0.1'
'coif1'
'coif2'
'coif3'
'coif4'
'coif5'
'db1'
'db2'
'db3'
'db4'
'db5'
'db6'
'db7'
'db8'
'db9'
'db10'
'dmey'
'fbsp1-1-1.5'
'fbsp1-1-1'
'fbsp1-1-0.5'
'fbsp2-1-1'
'fbsp2-1-0.5'
'fbsp2-1-0.1'
'gaus1'
'gaus2'
'gaus3'
'gaus4'
'gaus5'
'gaus6'
'gaus7'
'gaus8'
'haar'
'mexh'
'meyr'
'morl'
'rbio1.1'
'rbio1.3'
'rbio1.5'
'rbio2.2'
'rbio2.4'
'rbio2.6'
'rbio2.8'
'rbio3.1'
'rbio3.3'
'rbio3.5'
'rbio3.7'
'rbio3.9'
'rbio4.4'
'rbio5.5'
'rbio6.8'
'shan1-1.5'
'shan1-1'
'shan1-0.5'
'shan1-0.1'
'shan2-3'
'sym2'
'sym3'
'sym4'
'sym5'
'sym6'
'sym7'
'sym8'

请注意,waveletfamilies()调用wavemngr(),其中包括:

代码语言:javascript
运行
AI代码解释
复制
famtype = ...
           {...
            1, 'Haar',         'haar',  1;
            2, 'Daubechies',   'db',    1;
            3, 'Symlets',      'sym',   1;
            4, 'Coiflets',     'coif',  1;
            5, 'BiorSplines',  'bior',  2;
            6, 'ReverseBior',  'rbio',  2;
            7, 'Meyer',        'meyr',  3;
            8, 'DMeyer',       'dmey',  1;
            9, 'Gaussian',     'gaus',  4;
           10, 'Mexican_hat',  'mexh',  4;
           11, 'Morlet',       'morl',  4;
           10, 'Complex Gaussian',   'cgau',  5;
           11, 'Shannon',            'shan',  5;
           10, 'Frequency B-Spline', 'fbsp',  5;
           11, 'Complex Morlet',     'cmor',  5

            };

        nums = ...
           {...
            '';
            '1 2 3 4 5 6 7 8 9 10 **';
            '2 3 4 5 6 7 8 **';
            '1 2 3 4 5';
            '1.1 1.3 1.5 2.2 2.4 2.6 2.8 3.1 3.3 3.5 3.7 3.9 4.4 5.5 6.8';
            '1.1 1.3 1.5 2.2 2.4 2.6 2.8 3.1 3.3 3.5 3.7 3.9 4.4 5.5 6.8';
            '';
            '';
            '1 2 3 4 5 6 7 8 **';
            '';
            '';
            '1 2 3 4 5 **';
            '1-1.5 1-1 1-0.5 1-0.1 2-3 **';
            '1-1-1.5 1-1-1 1-1-0.5 2-1-1 2-1-0.5 2-1-0.1 **';
            '1-1.5 1-1 1-0.5 1-1 1-0.5 1-0.1 **'
            };

        typNums = ...
           {...
            'no';
            'integer';
            'integer';
            'integer';
            'real';
            'real';
            'no';
            'no';
            'integer';
            'no';
            'no';
            'integer';
            'string';
            'string';
            'string'
            };

        files = ...
           {...
            'dbwavf';
            'dbwavf';
            'symwavf';
            'coifwavf';
            'biorwavf';
            'rbiowavf';
            'meyer';
            'dmey.mat';
            'gauswavf';
            'mexihat';
            'morlet'
            'cgauwavf';
            'shanwavf';
            'fbspwavf';
            'cmorwavf'
            };

        bounds = ...
           {...
            [];
            [];
            [];
            [];
            [];
            [];
            [-8 8];
            [];
            [-5 5];
            [-8 8];
            [-8 8];
            [-5 5];
            [-20 20];
            [-20 20];
            [-8 8]
            };

金融时报:How does the choice of the wavelet function impact the speed of cwt()?

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24222062

复制
相关文章
卡尔曼滤波器原理和matlab实现
项目最近正好用上kalman滤波器,故整理一下kalman滤波器相关资料,网上有很多详细的kalman资料,参考如下: 1、https://zhuanlan.zhihu.com/p/34656822 2、https://blog.csdn.net/m0_37953670/article/details/89528002 由于项目处理的是一维信号,过滤噪点,故上面2篇文献足够完成项目
用户9925864
2022/07/27
6650
卡尔曼滤波器原理和matlab实现
butterworth matlab,Matlab实现Butterworth滤波器
f=double(I); % 数据类型转换,MATLAB不支持图像的无符号整型的计算
全栈程序员站长
2022/11/01
9590
Matlab中CIC滤波器的应用
  CIC(积分梳状级联)滤波器是工程上经常用的滤波器,因为CIC滤波器不需要乘法,CIC滤波器往往在级联抽取滤波器的第一级和级联插值滤波器的最后一级。这一节我们以CIC抽取滤波器为例来讲CIC滤波器的使用方法,CIC滤波器的数学模式为:
猫叔Rex
2021/07/16
2.4K0
Matlab滤波器设计:FIR滤波器与IIR滤波器设计实现示例
本文使用Matlab中的Signal Processing Toolbox中的designfilt函数,并根据频率响应实现如下两种滤波器:
用户1143655
2022/12/12
5.7K0
Matlab滤波器设计:FIR滤波器与IIR滤波器设计实现示例
matlab理想低通滤波器代码_matlab简单低通滤波器
设低通滤波器通带截止频率为ωp=0.2π,阻带截止频率为ωs=0.4π,通带波纹Ag=0.5dB,最小阻带衰减Ar=50dB。
全栈程序员站长
2022/11/02
1.1K0
低通滤波器matlab代码_matlab设计fir低通滤波器
获取代码方式1: 完整代码已上传我的资源:【滤波器】基于matlab低通滤波器(LPF)设计【含Matlab源码 323期】 点击上面蓝色字体,直接付费下载,即可。
全栈程序员站长
2022/11/17
5950
基于matlab的低通滤波器的设计_matlab带阻滤波器函数
大家好,又见面了,我是你们的朋友全栈君。 基于MATLAB 的带通滤波器设计 滤波前 滤波后 频谱图 50 100 150 200250300350 400 450 500 0.511.5 2 2.5 Frequency (Hz) T i m e 050100150 200250300350400450500 0.5 1 1.5 2 2.5 Frequency (Hz) T i m e 时域 图样 500 1000 1500 2000 2500 3000 3500 -1-0.8-0.6-0.4 -0.200
全栈程序员站长
2022/10/03
4780
基于Matlab的FIR滤波器设计与实现
前面一篇文章介绍了通过FDATool工具箱实现滤波器的设计,见“基于Matlab中FDATool工具箱的滤波器设计及相关文件的生成”,这里通过几个例子说明采用Matlab语言设计FIR滤波器的过程。
AIHGF
2019/02/18
2.2K0
matlab维纳滤波器函数_逆滤波器
​ 维纳滤波(wiener filtering) 一种基于最小均方误差准则、对平稳过程的最优估计器。这种滤波器的输出与期望输出之间的均方误差为最小,因此,它是一个最佳滤波系统。它可用于提取被平稳噪声污染的信号。
全栈程序员站长
2022/11/01
1.5K0
MATLAB实现数字滤波器的频带变换
一、实验目的 1.低通滤波器到数字高通滤波器的转化为例,了解并掌握数字滤波器的频带变换方法。 2.观察变化前后的数字滤波器的频域特性的变化。 3.掌握实现数字滤波器频带变换的MATLAB 编程方法。 二、实验原理 前面的实验都是设计低通型滤波器,实际的应用中我们需要的还有其他类型,如高通,带通和带阻滤波器。将一个低通滤波器的频带进行变换,就可以得到另外的频率选择性滤波器。
timerring
2022/07/20
3140
MATLAB实现数字滤波器的频带变换
MATLAB实现数字滤波器的直接设计
一、实验目的 1. 熟悉并会使用实验中用到的MATLAB 函数 2. 掌握用MATLAB 函数直接设计数字滤波器的编程方法 二、实验原理 设计IIR 滤波器的基本方法有两种途径: 途经1:首先设计模拟低通滤波器,再在时域实现滤波器的变换得到我们期望的类型,最后 再转换到相应类型的数字滤波器。 途经2:首先设计模拟低通滤波器,再转换为数字低通滤波器,最后实行频带变换将滤波器 转换到我们期望的类型的数字滤波器。
timerring
2022/07/20
4820
MATLAB实现数字滤波器的直接设计
matlab设计模拟带通滤波器
简单记录下在matlab上如何设计出模拟的带通滤波器,包括:巴特沃斯滤波器、切比雪夫I型滤波器、切比雪夫II型滤波器、椭圆型滤波器。 代码如下:
全栈程序员站长
2022/08/19
1.2K0
matlab设计模拟带通滤波器
matlab fir带通滤波,基于Matlab的FIR带通滤波器设计与实现
从上文Matlab的仿真过程可得到滤波器的级数N和滤波器系数h(n)。从上述可知数字滤波器实现时,主要是进行乘和加运算以及数据存取操作。
全栈程序员站长
2022/09/05
7160
matlab fir带通滤波,基于Matlab的FIR带通滤波器设计与实现
matlab在axis,matlab中axis的用法
>> axis([0 2*pi -0.9 0.9]) 图 5.1.3 使用了图形修饰的 plot 函数绘制的正弦曲线 5.1.3 图形的比较显示 在一般默认的情况下,MATLAB 每次使用 plot ……
全栈程序员站长
2022/09/06
2K0
在MATLAB中RSA加密
[Modulus, PublicExponent, PrivateExponent] = GenerateKeyPair;
万木逢春
2019/05/10
1.8K0
Matlab实现卡尔曼滤波器对室内温度进行预测。
1、点击[命令行窗口] 2、按<Enter>键
裴来凡
2022/05/28
3810
Matlab实现卡尔曼滤波器对室内温度进行预测。
Matlab滤波器设计:Z变换与Z逆变换原理及Matlab实现代码
Z变换在离散时间信号与系统中的地位相当于拉普拉斯变换在连续时间信号与系统中的地位。它可以求解常系数差分方程,进而估算一个线性时不变系统的响应及线性滤波器的设计。
用户1143655
2023/02/23
3.5K0
Matlab滤波器设计:Z变换与Z逆变换原理及Matlab实现代码
MATLAB 分析FIR 滤波器的相位特性和幅度特性
3. 学会用 MATLAB 工具分析FIR 滤波器。二、 实验原理与方法 实验十六中已经讲过脉冲相应的对称与反对称,即满足h(n) = h(M − 1 − n) 为对称
timerring
2022/07/20
1.6K0
MATLAB 分析FIR 滤波器的相位特性和幅度特性
FIR 滤波器四种结构形式的MATLAB 实现
一、实验目的 1. 掌握FIR 滤波器的各种实现形式。 2. 了解FIR 滤波器的各种实现形式之间的转化。 3. 学会用MATLAB 工具实现FIR 滤波器 二、实验原理 FIR 滤波器的结构特点是没有环路,它的单位脉冲响应的长度是有限的,设它的长度为N,它的系统函数为
timerring
2022/07/20
1.6K0
FIR 滤波器四种结构形式的MATLAB 实现
用脉冲响应不变法设计IIR 滤波器 MATLAB实现
一、实验目的 1. 掌握脉冲响应不变法设计IIR 数字滤波器的原理及具体设计方法。 2. 观察用脉冲响应不变法设计的滤波器的时域特性和频域特性,比较所设计的数 字滤波器的和相应模拟滤波器的频域特性,观察脉冲响应不变法设计中产生的 频率混淆现象。 3. 观察参数变化对滤波器性能的影响,通过了解脉冲响应不变法的优缺点,熟悉 该方法的应用范围。 二、实验原理         脉冲响应不变法是实现模拟滤波器数字化的一种直观而常用的方法。它可以保证所设计 的IIR 滤波器的脉冲响应和相应的模拟滤波器的冲激响应在采样点上完全一致。脉冲响应不 变法也由此得名。         一个模拟滤波器的传递函数可以用有理分式表示为:
timerring
2022/07/20
9610
用脉冲响应不变法设计IIR 滤波器 MATLAB实现

相似问题

如何确定窗口是否处于屏幕外?

30

如何确定HTML元素是否在屏幕外?

20

Android会在屏幕上显示对话框。

30

如何确定Windows应用程序是否在屏幕外?

98

确定屏幕上是否显示iframe

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文