www.gusucode.com > wavelet工具箱matlab源码程序 > wavelet/wavelet/@wptree/wenergy.m
function E = wenergy(t) %WENERGY Energy for a wavelet packet decomposition. % For a wavelet packet tree T, (see WPTREE, WPDEC, WPDEC2) % E = WENERGY(T) returns a vector E, which contains the % percentages of energy corresponding to the terminal nodes % of the tree T. % % Examples: % % example 1 - one-dimensional % % Wavelet packet decomposition and percentages of energy % load noisbump % T = wpdec(noisbump,3,'sym4'); % E = wenergy(T) % % % example 2 - two-dimensional % % Wavelet packet decomposition and percentages of energy % load detail % T = wpdec2(X,2,'sym4'); % E = wenergy(T) % M. Misiti, Y. Misiti, G. Oppenheim, J.M. Poggi 12-Mar-96. % Last Revision: 07-May-2008. % Copyright 1995-2008 The MathWorks, Inc. C = read(t,'allcfs'); Et = sum(C(:).^2); tn = leaves(t,'s'); nbtn = length(tn); E = zeros(1,nbtn); for k=1:nbtn C = read(t,'data',tn(k)); E(k) = sum(C(:).^2); end E = 100*E/Et;