Problem with mean function

2 次查看(过去 30 天)
Hampus
Hampus 2017-2-27
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?

回答(1 个)

James Tursa
James Tursa 2017-2-27
编辑:James Tursa 2017-2-27
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 个评论
Hampus
Hampus 2017-3-1
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 2017-3-1
What does this show:
any(isnan(comp_r( condition, 1)))

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by