Calculate mean of a matrix columnwise if a condition is met
    7 views (last 30 days)
  
       Show older comments
    
I am stuck on a small coding issue. 
I have a big matrix "A" and a scalar value "b" and I want to determine, 
Expected value = Mean ( A -b) if A < b 
for example if, 
A = [10 10 10;10 5 5;10 5 5]
b = 10
C = b - A
C = [0 0 0; 0 -5 -5; 0 -5 -5]
Calculate mean = Expectation [C / (A<b ]
calculations of mean should be columnwise. 
2 Comments
  Cris LaPierre
    
      
 on 12 Aug 2020
				Could you complete your example? What is the resulting value(s) of C for the example you shared?
Accepted Answer
  hosein Javan
      
 on 12 Aug 2020
        A = [10 10 10;10 5 5;10 5 5]
b = 10
C = b - A
C(A>=b) = nan % replace all data out of specified range by nan
mean(C,'omitnan') % mean columns omitting nan
2 Comments
More Answers (0)
See Also
Categories
				Find more on Logical in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

