Problem with mean function

1 view (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.

Categories

Find more on Programming 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!