📄 sizeofdict.m
字号:
function [m, L] = SizeOfDict(n, NameOfDict, par1, par2, par3)
% SizeOfDict -- the size of a (merged) dictionary
% Usage:
% [m, L] = SizeOfDict(n, NameOfDict, par1, par2, par3)
% Inputs:
% n the sample size
% NameOfDict name of the dictionary
% par1,par2,par3 the parameters of the dictionary
%
% Use 'help dictionary' for dictionary objects: NameOfDict,par1,par2,par3
% Outputs:
% m # of basis functions
% L # of levels = m/n
%
NumberOfDicts = LengthList(NameOfDict);
m = 0;
L = 0;
for i = 1:NumberOfDicts,
NAME = NthList(NameOfDict, i);
PAR1 = NthList(par1, i);
PAR2 = NthList(par2, i);
PAR3 = NthList(par3, i);
if strcmp(NAME, 'DIRAC'),
L0 = 1;
m0 = n;
elseif strcmp(NAME, 'DCT'),
L0 = PAR1;
m0 = n * L0;
elseif strcmp(NAME, 'DST'),
L0 = PAR1;
m0 = n * L0;
elseif strcmp(NAME, 'PO'),
L0 = 1;
m0 = n;
elseif strcmp(NAME, 'PBS'),
L0 = 1;
m0 = n;
elseif strcmp(NAME, 'STAT') | strcmp(NAME, 'TIWT'),
L0 = PAR1 + 1;
m0 = n * L0;
elseif strcmp(NAME, 'SP'),
L0 = PAR1 + 1;
m0 = n * L0;
elseif strcmp(NAME, 'WP'),
L0 = PAR1 + 1;
m0 = n * L0;
elseif strcmp(NAME, 'CP'),
L0 = PAR1 + 1;
m0 = n * L0;
elseif strcmp(NAME, 'MDC'),
L0 = (PAR1 + 1) * PAR2;
m0 = n * L0;
elseif strcmp(NAME, 'HS'),
L0 = 1;
m0 = n;
elseif strcmp(NAME, 'JUMP'),
L0 = 1;
m0 = n;
%L0 = 2;
%m0 = 2 * n;
elseif strcmp(NAME, 'POTV'),
L0 = 1;
m0 = n;
elseif strcmp(NAME, 'HRD'),
L0 = 2;
m0 = 2*n;
elseif strcmp(NAME, 'GFFT'),
L0 = PAR3;
m0 = PAR1 * PAR3 * 2;
elseif strcmp(NAME, 'UDCT'),
L0 = PAR1;
m0 = n * L0;
elseif strcmp(NAME, 'UDST'),
L0 = PAR1;
m0 = n * L0;
end
m = m + m0; L = L + L0;
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -