Find the mean of values in a column when a condition is met
    33 次查看(过去 30 天)
  
       显示 更早的评论
    
I am processing some data in matlab from excel.
The data is in matrix form (used read function).
I need to find the average of column c when column a value for the corresponding row is = to somevalue.
If I were to do this in excel I would use AVERAGEIF(A:A,=650,C:C) and it calculates the correct results. However I don't know how to replicate this statement in matlab.
Ideally the output would be in matrix form. Although I've attached a picture of excel data of a few words. The information I need to process is likely going to be 1000-3000 x 40 matrix.
Any thoughts?
采纳的回答
  Star Strider
      
      
 2018-6-13
        Try this:
M = randi(9, 10, 3)                                     % Create Matrix
someValue = 3                                           % Define ‘somevalue’
C_mean = mean(M(M(:,1) == someValue, 3))                % Mean Of Column #3 For Column #1 = ‘somevalue’
4 个评论
  Nev
 2019-5-29
				
      编辑:Nev
 2019-5-29
  
			Hi, I have a similar problem but the "some value" needs to be a range so:
If column 1 is between value 1 and value 2 (e.g. 2.000 - 2.999) then average the values in column 2. 
somevalue = 2.000:2.999;   <-- this doesnt seem to work and I am not sure how to tell it to include all numbers inbetween. 
Any help would be much appreciated!
更多回答(1 个)
  sura Naji
 2019-10-25
        l have amatrix contact from 1 colum and 1000 rows l want to find the mean and the standard deviation also l want to find the worst value of this  because l use the particle swarm optimization
0 个评论
另请参阅
类别
				在 Help Center 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!




