My error or program error?
4 次查看(过去 30 天)
显示 更早的评论
I'm having trouble (in Matlab) with the following problem:
there are 6 racers in a race. In vectors t1-t6 are previous times for each of the 6 racers (in this case, there are only 3 previous times for each of the racers).
t1=[30.01; 30.42; 30.68], t2=[30.00; 30.31; 30.55], t3=[29.98; 30.54; 30.32], t4=[28.89; 31.15; 30.44], t5=[29.66; 30.08; 31.25], t6=[28.72; 29.96; 31.18]
I want to calculate the probability of each racer to win the race. For example, if first racer wins, he has to do it with either his first time (probability 1/3), second or third with the condition that all other racers have bigger times than him. This group of commands should do that.
p=[0 0 0 0 0 0];
for i=min(t1):0.01:max(t1)
p(1)=p(1)+ sum((t1==i))/numel(t1) * sum((t2>i))/numel(t2)* sum((t3>i))/numel(t3)* sum((t4>i))/numel(t4)* sum((t5>i))/numel(t5)* sum((t6>i))/numel(t6);
end
for i=min(t2):0.01:max(t2)
p(2)=p(2)+ sum((t2==i))/numel(t2) * sum((t1>i))/numel(t1)* sum((t3>i))/numel(t3)* sum((t4>i))/numel(t4)* sum((t5>i))/numel(t5)* sum((t6>i))/numel(t6);
end
for i=min(t3):0.01:max(t3)
p(3)=p(3)+ sum((t3==i))/numel(t3) * sum((t2>i))/numel(t2)* sum((t1>i))/numel(t1)* sum((t4>i))/numel(t4)* sum((t5>i))/numel(t5)* sum((t6>i))/numel(t6);
end
for i=min(t4):0.01:max(t4)
p(4)=p(4)+ sum((t4==i))/numel(t4) * sum((t2>i))/numel(t2)* sum((t3>i))/numel(t3)* sum((t1>i))/numel(t1)* sum((t5>i))/numel(t5)* sum((t6>i))/numel(t6);
end
for i=min(t5):0.01:max(t5)
p(5)=p(5)+ sum((t5==i))/numel(t5) * sum((t2>i))/numel(t2)* sum((t3>i))/numel(t3)* sum((t4>i))/numel(t4)* sum((t1>i))/numel(t1)* sum((t6>i))/numel(t6);
end
for i=min(t6):0.01:max(t6)
p(6)=p(6)+ sum((t6==i))/numel(t6) * sum((t2>i))/numel(t2)* sum((t3>i))/numel(t3)* sum((t4>i))/numel(t4)* sum((t5>i))/numel(t5)* sum((t1>i))/numel(t1);
end
what i get is
p =
0.0247 0.0439 0.0562 0.2236 0.1481 0.3333
i've done the calculation manually and probability for fifth racer to win should be 0.1701 and sixth 0.4815. what i don't get is why the probabilities for the first four racers are correct, but the probability for 5th and 6th aren't? The logic is the same for all the racers. Can someone please explain what's wrong?
0 个评论
采纳的回答
更多回答(1 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!