📄 mydwt2.m
字号:
function deccoef=mydwt2(X,wavename,N,mode)
%mydwt2 2-D 多级非标准小波分解程序
%deccoef=mydwt2(X,wavename)
%输入 X 要分解的二维信号
% wavename 用来作分解的小波名称,与Matlab的wavename定义一致
% N 分解级数
% mode 分解模式(sym,per,zpd,spd,sp0,ppd),缺省为系统缺省模式sym
%输出 deccoef 三级分解的各级分解系数(1x3 struct array with fields:cA,cH,cV,cD,ex_size)
% cA,cH,cV,cD分别保存低频、水平高频,垂直高频,斜线高频分解系数数值,
% ex_size保存上一级分解矩阵大小
%说明:数组标号对应分解的级数
sX=size(X);
DX=X;
%设置缺省分解模式
if narginN<=3
mode='sym';
end
if sX(1)==1;
error=sprintf('%s','出错信息:分解信号需为二维矩阵')
else
%用小波函数进行分解
for i=1:N
[deccoef(i).cA,deccoef(i).cH,deccoef(i).cV,deccoef(i).cD]=dwt2(DX,wavename,'mode',mode);
deccoef(i).ex_size=size(DX);
DX=deccoef(i).cA;
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -