What does mean(s(:)) do and the reason for using " : " for mean of a square matrix?
    4 ビュー (過去 30 日間)
  
       古いコメントを表示
    
    SRAVAN KUMAR REDDY METTUPALLI
 2017 年 9 月 1 日
  
    
    
    
    
    コメント済み: SRAVAN KUMAR REDDY METTUPALLI
 2017 年 9 月 3 日
            The working of the below mentioned and the reason for using " : " avg = mean(s(:));
0 件のコメント
採用された回答
  John D'Errico
      
      
 2017 年 9 月 1 日
        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!
その他の回答 (1 件)
  Adam
      
      
 2017 年 9 月 1 日
        
      編集済み: Adam
      
      
 2017 年 9 月 1 日
  
      (:) 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.
参考
カテゴリ
				Help Center および File Exchange で Creating and Concatenating Matrices についてさらに検索
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!