Problem with mean function

2 views (last 30 days)
Hampus
Hampus on 27 Feb 2017
Commented: James Tursa on 1 Mar 2017
Okey, so I have the two nx2 vectors "day" and "comp_r".
I want to calculate the mean for a certain day, say day 8.
condition = day(:,1) == 8;
avg_day_8 = mean( comp_r( condition, 1) );
The problem is that I get that the mean equals NaN, and I am sure that's a wrong answer.
So what am I doing wrong?

Answers (1)

James Tursa
James Tursa on 27 Feb 2017
Edited: James Tursa on 27 Feb 2017
What does this show:
sum(condition)
If sum(condition) is 0, then you will get a NaN result in the mean calculation. E.g.,
>> x = reshape(1:6,3,2)
x =
1 4
2 5
3 6
>> condition = x(:,1) < 1
condition =
0
0
0
>> mean(x(condition,1))
ans =
NaN
  2 Comments
Hampus
Hampus on 1 Mar 2017
Yeah, but the "funny thing" is that i get an answer > 0, so there seems to be something wrong. Maybe I should re-install Matlab?
James Tursa
James Tursa on 1 Mar 2017
What does this show:
any(isnan(comp_r( condition, 1)))

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!