Info

This question is closed. Reopen it to edit or answer.

Some problem in computation of matrix operations?

1 view (last 30 days)
RS
RS on 29 Aug 2013
Closed: MATLAB Answer Bot on 20 Aug 2021
I have a matrix of 1024*966 for this matrix I want to compute mean and want to scale after this ? what is meaning of this and want to improve rsult by doing this but how can I? Final result will be nearly equal to matrix of 1024*966.
  2 Comments
Azzi Abdelmalek
Azzi Abdelmalek on 29 Aug 2013
you said: "What is meaning of this" What does that mean?
Walter Roberson
Walter Roberson on 29 Aug 2013
Are you trying to "center and rescale" for the purposes of improving the condition number ?

Answers (1)

Image Analyst
Image Analyst on 29 Aug 2013
You can do
meanValue = mean(yourMatrix(:));
scaledMeanValue = scaleFactor * meanValue;
The meaning of this is so obvious that I don't know what to say other than it takes the mean and scales it - not sure why you even asked. I don't really know why you say you want to improve upon it. Of course I did it in two lines but if you never need the original mean value every, you can do it all in one line - that's about the only improvement I can possibly think of.
Of course the final result will be nothing like the original matrix and in fact is not even a matrix at all - it's a scalar, so I don't know why you assert that. If you do want a matrix where you want the mean inside a sliding window you can use conv2():
smoothedImage = conv2(double(yourMatrix), ones(3)/9, 'same');
but again, it will not be nearly equal to your original matrix. So, bottom line, I'm having a really hard time trying to understand what you're asking.

Community Treasure Hunt

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

Start Hunting!