Help understand the sumsqr algorithm
显示 更早的评论
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 个)
Roger Stafford
2014-11-21
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
类别
在 帮助中心 和 File Exchange 中查找有关 Image Analysis 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!