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

📄 lemwavf.m

📁 关于小波分析的 具体是什么 我也不太清楚
💻 M
字号:
function F = lemwavf(wname)
%LEMWAVF Lemarie wavelet filters.
%   F = LEMWAVF(W) returns the scaling filter
%   associated with Lemarie wavelet specified
%   by the string W, where W = 'lemN'.
%   Possible values for N are:
%          N = 1, 2, 3, 4 or 5.
%   N.B:
%      Using the MATLAB Extended Symbolic Toolbox
%      possible values of N are positive integers.

%   M. Misiti, Y. Misiti, G. Oppenheim, J.M. Poggi 12-Mar-96.
%   Last Revision: 17-Apr-1998.
%   Copyright 1995-2000 The MathWorks, Inc.
%   $Revision: 1.10 $ $Date: 2000/06/08 13:43:35 $

if isstr(wname) & ~isempty(wname)
        lw = length(wname); ab = abs(wname);
        ii = lw+1; 
        while (47<ab(ii-1)) & (ab(ii-1)<58) , ii = ii-1; end
        num = wstr2num(wname(ii:lw));
else
        num = wname;
end
if isempty(num) | any(num < 1) | any(num ~= fix(num))
        error('*** Invalid wavelet number ! ***');
end

switch num
    case 1
F = [...
   0.46069299844871  0.53391629051346  0.03930700681965  -0.03391629578182 ...
];

    case 2
F = [...
   0.31555164655258  0.59149765057882  0.20045477817080  -0.10034811856888 ...
  -0.01528128420694  0.00846362066021  -0.00072514051618  0.00038684732960 ...
        ];

    case 3
F = [...
   0.23108942231941  0.56838231367966  0.33173980738190  -0.09447000132310 ...
  -0.06203683305244  0.02661631105889  -0.00209952890579  0.00001769381066 ...
   0.00128429679795  -0.00053703458679  0.00002283826072 -0.00000928544107 ...
        ];

    case 4
F = [...
   0.17565337503255  0.52257484913870  0.42429244721660  -0.04601056550580 ...
  -0.11292720306517  0.03198741803409  0.00813124691980  -0.00743764392677 ...
   0.00548090619143 -0.00140066128481  -0.00054200083128   0.00025607264164 ...
  -0.00008795126642  0.00003025515674  -0.00000082014466  0.00000027569334 ...
        ];

    case 5
F = [...
   0.13807658847623  0.47310642622099  0.48217097800239  0.02112933622031 ...
  -0.15081998732499  0.01935767268926  0.02716532750995  -0.01588522540421 ...
   0.00671209165995  0.00120022744496  -0.00321203819186  0.00115266788547 ...
  -0.00018266213413  -0.00002953360842  0.00008433396295  -0.00002997969339 ...
   0.00000534552866  -0.00000159098026  0.00000003069431 -0.00000000895816 ...
        ];

    otherwise
        % compute bernstein polynomial of order 4*num-1.
        % requires the Extended Symbolic Toolbox.
        if ~exist('maple')
                msg = '*** The Extended Symbolic Toolbox is required ***';
                error(msg)
                break
        end
        order = 4*num-1;
        mpa('ord',order);
        maple('readlib(bernstein):');
        maple('f:=proc(t) if t<1/4 then 0 else if t >3/4 then 1 else 2*t-1/2 fi fi end:');
        cfs = maple('bernstein(ord,f,(1+x)/2);');
        ber = sym2poly(cfs);

        r = roots(ber);
        v = r-sqrt(r.^2-1);
        ind = find(abs(v)>1);
        if ~isempty(ind)
            v(ind)=ones(size(ind))./v(ind);
        end
        F = real(poly(v));
        F = F/sum(F);
end

⌨️ 快捷键说明

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