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

📄 sobolev_estimate.m

📁 几个关于多小波的程序
💻 M
字号:
function sigma = sobolev_estimate(H)

% SOBOLEV_ESTIMATE -- estimate Sobolev exponent of multiwavelet (fast, but crude)
%
%        sigma = sobolev_estimate(H)
%
% The input parameter H can be either a symbol or a polyphase matrix
% This routine uses a quick and dirty estimate based on the largest
% eigenvalue of the transition matrix which is not one of the 
% power-of-two eigenvalues predicted by the approximation order.
%
% The multiscaling function phi given by the coefficients H is in the Sobolev
% space W^\sigma for any \sigma < s = - log_4(rho_max)
% (the log of the largest eigenvalue other than the power-of-two eigenvalues
% provided by the approximation order).
%
% Routine SOBOLEV_EXPONENT provides a better estimate, but this
% routine is faster. (Try multiwavelet CL2 for an example of
% where the two differ).

% 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

H = symbol(H);
m = H.m;
r = H.r;
H = H(1:r,:);
p = approximation_order(H);

T = transition_matrix(H);
lambda = sort(abs(eig(T)));
lambda = lambda(end:-1:1);
known = m.^(0:-1:-2*p-1);
i = 1;
for j = 1:length(lambda)
    if (i > length(known))
% no more know eigenvalues; this one must be it
	sigma = -log(lambda(j))/log(4);
	return;
    end
    if iszero(lambda(j) - known(i))
% eliminate a known one
	i = i+1;
    else
% this is the first spurious one
	sigma = -log(lambda(j))/log(4);
	return;
    end
end
error('this should not happen');

⌨️ 快捷键说明

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