⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 refinement_matrix.m

📁 几个关于多小波的程序
💻 M
字号:
function T = refinement_matrix(H,kmin,kmax)

% REFINEMENT_MATRIX - build multiwavelet refinement matrix
%
%        T = refinement_matrix(H,kmin,kmax)
%
% The refinement matrix is the block matrix
%
%        T_{jk}   = \sqrt{m} h_{mj-k}        j,k = kmin,..,kmax
%
% If kmin, kmax are not given, use
%
%        kmin = ceil(H.min/(m-1)), 
%        kmax = floor(H.max/(m-1)).,
%
% That produces the matrix T whose right eigenvector to eigenvalue 1
% contains the values of phi at the integers inside its support.
% (Section 1.8 in "Wavelets and Multiwavelets").

% Copyright (c) 2004 by Fritz Keinert (keinert@iastate.edu),
% Dept. of Mathematics, Iowa State University, Ames, IA 50011.
% This software may be freely used and distributed for non-commercial
% purposes, provided this copyright statement is preserved, and
% appropriate credit for its use is given.
%
% Last update: Feb 20, 2004

% process arguments
H = symbol(H);
r = H.r;
m = H.m;
H = trim(H(1:r,:));
if (nargin < 2)
    kmin = ceil(H.min/(m-1));
end
if (nargin < 3)
    kmax = floor(H.max/(m-1));
end
klen = kmax - kmin + 1;

% create zero matrix of right size
T = zeros(r*klen,r*klen);
if (isa(H.coef,'sym'))
    T = sym(T);
end

% build the matrix
for j = kmin:kmax
    for k = kmin:kmax
        T((j-kmin)*r+1:(j-kmin+1)*r,(k-kmin)*r+1:(k-kmin+1)*r) = H{m*j-k};
    end
end
T = T * m;

% the reason that we multiply by m instead of sqrt(m) is that the
% coefficients of the symbol are h_j/\sqrt(m), not h_j

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -