【问题标题】:Generating Binomial binary numbers with arbitrary probability in MATLAB?在MATLAB中以任意概率生成二项式二进制数?
【发布时间】:2018-06-20 02:20:28
【问题描述】:

我可以很容易地生成一个二进制数序列,其元素具有相同的概率。换句话说,

  • Pr("1") = 0.5 和 Pr("0") = 0.5

现在,我想创建一个二进制数序列,其元素可以采用任意概率,比如说

  • Pr("1") = p 和 Pr("0") = 1-p

我该怎么做?在 Matlab 中是否有任何专有命令可以生成此命令?没找到。

【问题讨论】:

    标签: matlab


    【解决方案1】:

    这样的事情会起作用:

    P = desired_prob_of_zero;   % e.g., 0.1;
    N = number_of_samples;
    x = rand(N,1) < P;
    

    【讨论】:

    • 我明白了。谢谢。我想知道是否可以通过编写单个命令来生成它。
    • 你可以在最后一行通过硬编码NP 来完成这一切,但这并不能让它在未来变得非常可扩展。你有字符限制(例如 Twitter 编码)吗?
    • 是的,我的目的是找到最紧凑的方式。但是,我对此没有严格的义务。
    • 把它放在一个函数中。
    • @Cardinal 这已经一条语句(第三行)。您也可以使用x = binornd(1,P,[1 N]);,但这需要统计工具箱,而且可能会更慢
    猜你喜欢
    • 2020-06-22
    • 1970-01-01
    • 2017-01-25
    • 2016-04-29
    • 1970-01-01
    • 2013-12-06
    • 1970-01-01
    • 2021-12-27
    • 2015-03-07
    相关资源
    最近更新 更多