Help understand the sumsqr algorithm

11 visualizzazioni (ultimi 30 giorni)
Brian
Brian il 21 Nov 2014
Commentato: Image Analyst il 21 Nov 2014
For a current project, I've begun switching between versions of matlab. For my trial of 2014, I guess I didn't download the neural network toolbox, so I can't use sumsqr. When I used it on my other version I got what might be called an "impossible" answer.
In the study of wavelet compression techniques, one expects the original picture and the wavelet transform image to have the same energy. Energy is defined as the sum of squared elements of thee matrix. When I computed sumsqr on my MATLAB 2008, I got two different answers.
In order to try and understand the problem, I have 2 requests for the user community 1. Help me understand sumsqr. Does it square entries first, or sum the matrix first? 2 Is there code for qhat I want to do? That is, square the elements first, then sum them.
  1 Commento
Brian
Brian il 21 Nov 2014
Some clarification: Since 2014 does most of what I want, I would like to know how to sum squared elements without the Neural Network Toolbox

Accedi per commentare.

Risposta accettata

Greg Heath
Greg Heath il 21 Nov 2014
help sumsqr
doc sumsqr
type sumsqr
Thank you for formally accepting my answer
Greg
  2 Commenti
Brian
Brian il 21 Nov 2014
Do I write those into MATLAB or search on math works?
Image Analyst
Image Analyst il 21 Nov 2014
Type then at the >> prompt in the command window.

Accedi per commentare.

Più risposte (1)

Roger Stafford
Roger Stafford il 21 Nov 2014
If you consult the site
http://www.mathworks.com/help/nnet/ref/sumsqr.html
you will see that 'sumsqr' returns with the sum of the squares of all finite elements of a matrix (or cell array of matrices,) as well as their number. For a matrix the following code should suffice, though it might not be as efficient as Mathworks' function. To make it work for cell arrays would require some modifications which I leave to you.
function [s,n] = sumsqr(x)
x = x(:);
t = isfinite(x);
s = sum(x(t).^2);
n = sum(t);
return

Categorie

Scopri di più su Discrete Multiresolution Analysis in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by