function [energy, level] = energyatlevel(w) % FUNCTION: energyatlevel Part of DPWT toolbox. % % SYNOPSIS: [LEVEL, ENERGY] = energyatlevel(W) % % DESCRIPTION: energyatlevel determines the energy (sum % of the squares of the coefficients) at each % level of the wavelet coefficient vector W. % The output column vectors % 'level' and 'energy' contain the level numbers % and corresponding energy values. % % EXAMPLE: f = sin(1*2*pi*exp(2.5*[0:(2^7 - 1)].^1.03 ... % / 2^7) ... % )'; % w = dpwt(f,daubcofs(3)); % [energy, level] = energyatlevel(w); % discreteplot(level,energy), % xlabel('level'), % ylabel('energy') % % AUTHOR: Neil Getz % DATE: 5-5-92 % % COPYRIGHT 1992, Neil Getz % if(( nargin < 1 )|( nargin > 2 )), help energyatlevel; return; end p = log( length(w) )/log(2); energy = zeros( p+1, 1 ); % for size level = energy; % for size for i = -1:(p-1), level( i + 2 ) = i; energy( i + 2 ) = sum( getlevel( w, i).^2); end if( nargin == 2 ) axis([-1 (p-1) 0 1.1*max(energy)]); discreteplot( level, energy); xlabel( 'level' ); ylabel( 'Energy' ); axis; end