# Figura 7.1 close all; for M=3:10 N=2^M; k = 3; Ek = shift([1 zeros(1,N-1)],k); Fk = ifft(Ek); plot(linspace(0,1,N),real(Fk),linspace(0,1,N),imag(Fk)); axis([0 1 -1.1*max(real(Fk)) 1.1*max(real(Fk))]); drawnow; pause(1); endfor # Outra visualização: funções básicas de Fourier close all; for k=1:64 Ek = shift([1 zeros(1,N-1)],k); Fk = ifft(Ek); plot(linspace(0,1,N),real(Fk),linspace(0,1,N),imag(Fk)); axis([0 1 -1.1*max(real(Fk)) 1.1*max(real(Fk))]); title(sprintf("%da funcao basica de Fourier",k)); drawnow; pause(0.5); endfor # Figura 7.2 close all; for M=3:10 N=2^M; k=6; Ek = shift([1 zeros(1,N-1)],k); % F = "Haar"; % F = "Le Gall 5/3"; F = "Daubechies 4-tap"; Fk=idwt(Ek,M,F); plot(linspace(0,1,N),Fk); axis([0 1 -1.1*max(Fk) 1.1*max(Fk)]); drawnow; pause(1); endfor # Outra visualização: funções básicas close all; for k=1:64 Ek = shift([1 zeros(1,N-1)],k); % F = "Haar"; % F = "Le Gall 5/3"; F = "Daubechies 4-tap"; Fk=idwt(Ek,M,F); plot(linspace(0,1,N),Fk); axis([-0.1 1.1 -1.1*max(Fk) 1.1*max(Fk)]); title(sprintf("%da funcao basica de %s",k,F)); drawnow; pause(1); endfor # Figura 7.3 close all; for M=3:10 N=2^M; #x=idwt(shift([1 zeros(1,N-1)],7),M,"Daubechies 4-tap"); x = invfullwave(shift([1 zeros(1,N-1)],7),M-2,"d4"); plot(linspace(0,1,N),x); axis([0 1 -1.1*max(x) 1.1*max(x)]); drawnow; pause(0.5); endfor # Outra visualização: funções básicas close all; for j=1:64 x=idwt(shift([1 zeros(1,N-1)],j-1),M,"Daubechies 4-tap"); #x = invfullwave(shift([1 zeros(1,N-1)],j-1),M-2,"d4"); plot(linspace(0,1,N),x); axis([0 1 -1.1*max(x) 1.1*max(x)]); title(sprintf("j=%d",j-1)); drawnow; pause(0.5); endfor # Repetindo a idéia para os filtros Le Gall 5/3 close all; for M=3:10 N=2^M; x=idwt(shift([1 zeros(1,N-1)],7),M-2,"Le Gall 5/3"); plot(linspace(0,1,N),x); axis([0 1 -1.1*max(x) 1.1*max(x)]); drawnow; pause(0.5); endfor # Outra visualização: funções básicas close all; for j=1:64 x=idwt(shift([1 zeros(1,N-1)],j-1),M-2,"Le Gall 5/3"); plot(linspace(0,1,N),x); axis([0 1 -1.1*max(x) 1.1*max(x)]); title(sprintf("j=%d",j-1)); drawnow; pause(0.5); endfor # Exemplo 7.1, Figuras 7.7 e 7.8 close all; N=2^12; t = linspace(0,1,N); f = t.*(1-t).*(2-t); figure(1); plot(t,f); axis([0 1 0 0.5]); title("Funcao original"); close all; f0 = (1/N)*sum(f)*ones(1,N);; plot(t,f0); axis([0 1 0 0.5]); title("Aproximacao f_0"); close all; K=8; for k=0:K for n=0:(2^k-1) psikn = zeros(1,N); psikn((N*n/(2^k)+1):(N*(n+1/2)/(2^k))) = 2^(k/2); psikn((N*(n+1/2)/(2^k)+1):(N*(n+1)/(2^k))) = -2^(k/2); ckn = (1/N)*sum(f.*psikn); f0 += ckn*psikn; endfor; plot(t,f0); axis([0 1 0 0.5]); title(sprintf("Aproximacao f_%d",k+1)); pause(0.5); endfor c0 = 1+sqrt(3); c1 = 3+sqrt(3); c2 = 3-sqrt(3); c3 = 1-sqrt(3); c = (1/(4*sqrt(2)))*[ c0 c1 c2 c3 ]; [phi,psi,t] = dyadicortho(c,10); figure(1); plot(t,phi); figure(2); plot(t,psi); l = [ -1/8 1/4 3/4 1/4 -1/8 ]; #h = [ -1/2 1 -1/2 ]; [phi,psi,t] = dyadicortho(l,10); figure(1); plot(t,phi); figure(2); plot(t,psi);