In: Electrical Engineering
Coin toss experiment
In this experiment, determine the number of heads and tails after flipping a coin for 1000 times. Use two different methods to find number of heads and tails:
Use for loops.
Use vectors in MATLAB.
Repeat this experiment to find running average of flipping a coin for 200 and 2000 times. Plot the running average for two experiments using subplot functions.
% Assume head = 1, tail = 0
% Using for loop
head_loop = 0; % initialze no. of heads
tail_loop = 0; % initialize no. of heads
for i=1:1000
m1 = round(rand(1));
if m1==1
head_loop = head_loop+1;
else
tail_loop = tail_loop+1;
end
end
% Using vectors
m2 = round(rand(1000,1));
head_vector = sum(m2); % Since 1 indicates head
tail_vector = 1000 - sum(m2); % values that are not 1s indicate
tails
toss200_loop = zeros(200,1);
toss2000_loop = zeros(2000,1);
runav200_loop = zeros(200,1);
runav2000_loop = zeros(2000,1);
runav200_vector = zeros(200,1);
runav2000_vector = zeros(2000,1);
for i=1:200
% i-th coin toss simulation
toss200_loop(i) = round(rand(1));
runav200_loop(i) = sum(toss200_loop)/i;
end
for i=1:2000
% i-th coin toss simulation
toss2000_loop(i) = round(rand(1));
runav2000_loop(i) = sum(toss2000_loop)/i;
end
% coin toss simulation for n=200
toss200_vector = round(rand(200,1));
% find running average
for i=1:200
runav200_vector(i) = sum(toss200_vector(1:i))/i;
end
% coin toss simulation for n=2000
toss2000_vector = round(rand(2000,1));0
% find running average
for i=1:2000
runav2000_vector(i) = sum(toss2000_vector(1:i))/i;
end
figure;
subplot(2,2,1);plot(runav200_loop);title("n = 200, for
loop");
subplot(2,2,2);plot(runav200_vector);title("n = 200,
vector");
subplot(2,2,3);plot(runav2000_loop);title("n = 2000, for
loop");
subplot(2,2,4);plot(runav2000_vector);title("n = 2000, for
loop");