What does mean(s(:)) do and the reason for using " : " for mean of a square matrix?
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
SRAVAN KUMAR REDDY METTUPALLI
am 1 Sep. 2017
Kommentiert: SRAVAN KUMAR REDDY METTUPALLI
am 3 Sep. 2017
The working of the below mentioned and the reason for using " : " avg = mean(s(:));
0 Kommentare
Akzeptierte Antwort
John D'Errico
am 1 Sep. 2017
Well, what does mean do, when applied to a matrix? TRY IT!!!!!!!!! You will learn by trying things.
magic(3)
ans =
8 1 6
3 5 7
4 9 2
>> mean(magic(3))
ans =
5 5 5
>> mean(magic(3),2)
ans =
5
5
5
So when you apply mean to a MATRIX, it finds the mean across rows, or down columns.
When you apply mean to a vector, it finds the mean of the vector elements.
mean(1:10)
ans =
5.5
So how can you find the mean of an entire matrix?
Can you convert a matrix to a vector? If so, then you can just use mean.
What does s(:) do? It converts a matrix to a column vector. Therefore, you should now know what mean(s:)) does, and why it works.
When you don't understand some code in MATLAB, take it apart, one level at a time. Think what each part does. And if you don't know how something works, EXPERIMENT!
Weitere Antworten (1)
Adam
am 1 Sep. 2017
Bearbeitet: Adam
am 1 Sep. 2017
(:) reshapes the array to a column vector, as described in
doc colon
This is done when taking the mean of a 2d image as a simple way to avoid having to do
mean( mean( s ) )
In the case of mean and some other functions there is a special builtin function
doc mean2
but I always use the colon notation personally.
Siehe auch
Kategorien
Mehr zu Logical finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!