Open in the MATLAB editor: c09ed_example
function c09ed_example fprintf('c09ed example results\n\n'); m = int64(7); n = int64(8); wavnam = 'DB2'; mode = 'Half'; wtrans = 'Multilevel'; a = [3, 7, 9, 1, 9, 9, 1, 0; 9, 9, 3, 3, 4, 1, 2, 4; 7, 8, 1, 3, 8, 9, 3, 3; 1, 1, 1, 1, 2, 8, 4, 0; 1, 2, 4, 6, 5, 6, 5, 4; 2, 2, 5, 7, 3, 6, 6, 8; 7, 9, 3, 1, 3, 4, 7, 2]; fprintf('\nInput data a:\n'); disp(a); [nwl, nf, nwct, nwcn, icomm, ifail] = c09ab(wavnam, wtrans, mode, m, n); lenc = nwct; % Perform Discrete Wavelet transform [c, dwtlvm, dwtlvn, icomm, ifail] = c09ec(a, lenc, nwl, icomm); fprintf('\nLength of wavelet filter : %d\n', nf); fprintf('Number of Levels : %d\n', nwl); fprintf('Number of coefficients in first dimension for each level :\n'); disp(transpose(dwtlvm(1:double(nwl)))); fprintf('Number of coefficients in second dimension for each level :\n'); disp(transpose(dwtlvn(1:double(nwl)))); fprintf('\nTotal number of wavelet coefficients : %d\n', nwct); fprintf('\nWavelet coefficients c :\n'); jstart = 1; for ilevel = 1:double(nwl) fprintf('-------------------------------------------------------\n'); fprintf('Level %d output is %d by %d\n', ... nwl-ilevel+1, dwtlvm(ilevel), dwtlvn(ilevel)); fprintf('-------------------------------------------------------\n'); iskip = double(dwtlvm(ilevel)); i2 = iskip*double(dwtlvn(ilevel)) - 1; for itype_coeffs = 1:4 switch itype_coeffs case {1} if (ilevel == nwl) fprintf('Approximation coefficients:\n'); end case {2} fprintf('Vertical coefficients:\n'); case {3} fprintf('Horizontal coefficients:\n'); case {4} fprintf('Diagonal coefficients:\n'); end if (itype_coeffs>1 || ilevel==1) for i1 = jstart:jstart+iskip-1 fprintf('%8.4f',c(i1:iskip:i1+i2)); fprintf('\n'); end jstart = jstart + i2 + 1; end end fprintf('\n'); end % Reconstruct original data [b, ifail] = c09ed(nwl, c, m, n, icomm); fprintf('Reconstruction b:\n'); disp(b);
c09ed example results Input data a: 3 7 9 1 9 9 1 0 9 9 3 3 4 1 2 4 7 8 1 3 8 9 3 3 1 1 1 1 2 8 4 0 1 2 4 6 5 6 5 4 2 2 5 7 3 6 6 8 7 9 3 1 3 4 7 2 Length of wavelet filter : 4 Number of Levels : 2 Number of coefficients in first dimension for each level : 4 5 Number of coefficients in second dimension for each level : 4 5 Total number of wavelet coefficients : 139 Wavelet coefficients c : ------------------------------------------------------- Level 2 output is 4 by 4 ------------------------------------------------------- 24.9724 25.6017 20.8900 7.9280 27.6100 27.0955 18.7941 8.2804 11.2663 11.0273 19.6410 18.6651 27.6050 26.6443 14.5913 18.0835 Vertical coefficients: -2.5552 -6.1078 -4.0629 8.2136 -1.6061 -7.2355 -3.3633 7.6075 -0.2225 -1.6283 -0.5301 3.7415 -0.9052 -6.5810 0.8023 1.8591 Horizontal coefficients: -3.8069 -3.0730 2.1121 -1.8525 -2.7548 -4.5949 -0.8321 -4.8155 4.8398 4.5104 -1.5308 -0.6456 -6.4332 -4.5381 2.4753 6.8224 Diagonal coefficients: -0.8978 -0.2326 -1.2515 2.6346 0.5708 -4.9783 -1.5309 6.4569 -0.1854 -1.8430 0.2426 -0.0754 0.0345 7.1864 1.5938 -5.9745 ------------------------------------------------------- Level 1 output is 5 by 5 ------------------------------------------------------- Approximation coefficients: Vertical coefficients: -2.5981 4.6471 2.5392 -2.8415 -0.2165 -1.3203 -0.0592 3.0490 -2.5837 1.0458 -0.4330 -1.6405 -1.1752 0.2533 -2.3448 -0.4118 -0.0682 -2.4608 -0.0167 0.4387 -1.5368 -1.1450 -0.5547 4.5936 -3.6863 Horizontal coefficients: -4.3301 -1.8170 0.8023 5.7566 -2.8146 4.3089 3.6908 0.8349 3.4653 1.7108 -1.5311 -1.0736 1.5257 0.0212 -0.9608 2.8873 3.1148 -1.9118 -0.4007 -1.5302 -2.2377 -2.7611 2.4453 -0.3705 4.3448 Diagonal coefficients: -1.5000 4.4151 -0.0057 -0.8236 -1.1250 -0.1953 -2.9530 1.8840 -1.7635 0.9877 -0.4330 0.2745 1.1450 0.4632 -0.5547 -0.3538 -0.3215 0.6462 1.3705 -1.2778 0.7288 0.4587 -1.8873 -1.8828 2.4028 Reconstruction b: 3.0000 7.0000 9.0000 1.0000 9.0000 9.0000 1.0000 0.0000 9.0000 9.0000 3.0000 3.0000 4.0000 1.0000 2.0000 4.0000 7.0000 8.0000 1.0000 3.0000 8.0000 9.0000 3.0000 3.0000 1.0000 1.0000 1.0000 1.0000 2.0000 8.0000 4.0000 0.0000 1.0000 2.0000 4.0000 6.0000 5.0000 6.0000 5.0000 4.0000 2.0000 2.0000 5.0000 7.0000 3.0000 6.0000 6.0000 8.0000 7.0000 9.0000 3.0000 1.0000 3.0000 4.0000 7.0000 2.0000