Info

この質問は閉じられています。 編集または回答するには再度開いてください。

Some problem in computation of matrix operations?

1 回表示 (過去 30 日間)
RS
RS 2013 年 8 月 29 日
閉鎖済み: MATLAB Answer Bot 2021 年 8 月 20 日
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