How to perform Matlab programming for the biased coin toss simulation

12 次查看(过去 30 天)
Let the bias be the probability of turning up a head and denoted by the parameter q. If we use a coin with the bias specified by q to conduct a coin flipping process d times, the outcome will be a sequence of heads and tails.
Then the probability - where nH is the number of heads turned up during d trials. Now using such a simulated coin with q = ½ to conduct the experiments based on a sequence of outcomes generated by the random generator from computer.
For example, if the number generated by the random generator is less than 1/2, it assigned to be 0; otherwise, it will be assigned 1.
I would like to perform the Matlab programming with certain parameters for the Pattern Recognition (Binomial Distribution) as below -
(1) d = 100 and n =100 using a simulated coin with q = ¼ and ½.
(2) d = 10 and n =1000 using a simulated coin with q = ¼ and ½.
(3) d = 100 and n = 1000 using a simulated coin with q = ¼ and ½.
Kindly please provide your opinion and suggestion thus I will be able to improve my computing skills.
( The result of the execution from program will be drawn into histogram on the PowerPoint)
  3 个评论
John D'Errico
John D'Errico 2018-4-24
编辑:John D'Errico 2018-4-24

Don't post your attempt as an answer. Moved to a comment, from vokoyo.

Matlab Programming Method - I get some errors for my coding sample as below

 x = rand(0,1);
    if(x<0.25),
    toss = 0; %Head
    else
    toss = 1; %Tail
    end
    n = 100;
    d = 100;
    hist(y,0:n)
        x = rand(0,1);
        if(x<0.5),
        toss = 0; %Head
        else
        toss = 1; %Tail
        end
        n = 100;
        d = 100;
        hist(y,0:n)
John D'Errico
John D'Errico 2018-4-24
编辑:John D'Errico 2018-4-24

But now, tell us what errors you get? If you get an error, then read the error. Think about what it says. If you cannot understand the error message, then post the ENTIRE error message.

So, look at the error. What does it say? In this case, it will be some obscure problem, created because you did not even look at the very first thing you wrote.

x = rand(0,1);
x
x =
  0×1 empty double column vector

Look at the very first line you wrote. EXECUTE IT. LOOK AT THE RESULT. THINK ABOUT WHAT HAPPENED.

What does the help for rand tell you? Does rand(0,1) somehow know that maybe you wanted to generate a random number in the interval [0,1]? Or maybe you wanted it to sample from the integers in that range. How can rand know?

What rand does is go by how it is programmed. Not what you want it to do.

So rand(0,1) generates an empty vector. Not what you wanted of course.

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Particle & Nuclear Physics 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by