MATLAB: Question about significancy of wavelet coefficients

coefficientnegetivitywavelet

I'm doing watermarking project based on discrete wavelet transform. According to various research paper i understand that, the watermark should be embedded into highest wavelet coefficients. Now consider some wavelet coefficients: 12, -23 ,34 ,-123,56 Can anybody tell me which are the three highest coefficients?
Thanks in advance.

Best Answer

Does this do what you want?
coefficients = [12,-23,34,-123, 56];
sortedCoefficients = sort(coefficients,'descend');
topThree = sortedCoefficients(1:3)
If you need the three highest by magnitude (e.g. -123 is the largest), then it's just a bit trickier:
coefficients = [12,-23,34,-123, 56];
[sortedCoefficients,sortingIndex] = sort(abs(coefficients),'descend');
topThree = sign(coefficients(sortingIndex(1:3))).*sortedCoefficients(1:3)
Related Question