Azzera filtri
Azzera filtri

Jetty Problem

4 visualizzazioni (ultimi 30 giorni)
Reelz
Reelz il 1 Mag 2012
Typical Jetty Problem, problem with my code though? (specifically the line prob = 100 * nsafe / n;) Why doesn't this work?
Also I am trying to graph the probability of survival against the probability of going forward. Help doing this much appreciated!
Here's my code:
% random walk p = input( 'Number of walks: ' );
nsafe = 0; % number of times he makes it
for i = 1:p
steps = 0; % each new walk ...
x = 0; % ... starts at the origin
y = 0;
while x <= 50 & abs(y) <= 10 & steps < 2000
steps = steps + 1; % that’s another step
r = rand; % random number for that step
if r < 0.6 % which way did he go?
x = x + 1; % maybe forward ...
elseif r < 0.8
y = y + 1; % ... or to port ...
else
y = y - 1; % ... or to starboard
end;
end;
if x > 50
nsafe = nsafe + 1; % he actually made it this time!
end;
end;
prob = 100 * nsafe / n;
disp( prob );

Risposte (1)

Thomas
Thomas il 1 Mag 2012
You have not defined 'n' anywhere in your code... what is 'n'?
EDIT based on the comment hat n=number of steps
Change the prob = 100 * nsafe / n; to the following:
prob = 100 * nsafe / steps;
  2 Commenti
Reelz
Reelz il 1 Mag 2012
n is the number of steps. Which if she hasn't reached the ship after 2000 steps she dies of thirst. She can go either forward, left, or right. Basically I am just generating probabilities, how would I edit my code to include this though?
Thomas
Thomas il 1 Mag 2012
check my edit above

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by