www.gusucode.com > wavelet工具箱matlab源码程序 > wavelet/eml/appcoef2.m
function a = appcoef2(c,s,varargin) %MATLAB Code Generation Library Function % Limitations: % * Requires variable sizing. % Copyright 1995-2016 The MathWorks, Inc. %#codegen % Check arguments. narginchk(2,5) coder.internal.prefer_const(varargin); rmax = coder.internal.indexInt(size(s,1)); nmax = rmax - 2; if ischar(varargin{1}) [Lo_R,Hi_R] = wfiltersConst(varargin{1},'r'); next = 2; else Lo_R = varargin{1}; Hi_R = varargin{2}; next = 3; end if nargin >= next + 2 n = varargin{next}; else n = nmax; end coder.internal.assert(isscalar(n) && n >= 0 && n <= nmax && ... n == floor(n), ... 'Wavelet:FunctionArgVal:Invalid_LevVal'); coder.varsize('a'); % Initialization. nl = s(1,1); nc = s(1,2); coder.varsize('a'); if length(s(1,:))<3 a = zeros(nl,nc); else a = zeros(nl,nc,3); end a(:) = c(1:numel(a)); % Iterated reconstruction. rm = rmax + 1; for p = nmax:-1:n+1 [h,v,d] = detcoef2('all',c,s,p); % extract detail a = idwt2(a,h,v,d,Lo_R,Hi_R,s(rm - p,:)); end