Info

此问题已关闭。 请重新打开它进行编辑或回答。

Some problem in computation of matrix operations?

1 次查看(过去 30 天)
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 个评论
Azzi Abdelmalek
Azzi Abdelmalek 2013-8-29
you said: "What is meaning of this" What does that mean?
Walter Roberson
Walter Roberson 2013-8-29
Are you trying to "center and rescale" for the purposes of improving the condition number ?

回答(1 个)

Image Analyst
Image Analyst 2013-8-29
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!

Translated by