登录论坛

查看完整版本 : Matlab中二进制值的均匀分布


poster
2019-12-10, 20:30
我需要生成给定数量的给定大小的向量N,每个向量的一致分布为0和1s。

这是我目前正在做的事情,但是我注意到分布在1s和0s处达到峰值,这对我的工作没有好处:

a = randint(1, sizeOfVector, [0 1]); unifrnd函数 (http://www.mathworks.com/access/helpdesk/help/toolbox/stats/unifrnd.html)看起来很有希望满足我的需求,但是我无法理解如何输出该大小的二进制向量。

是可以使用unifrnd函数的情况(如果可以的话,将不胜感激!),或者可以使用其他更便捷的方法来获得这样的向量集吗?

任何帮助表示赞赏!

注意1 : 请确保-这是要求的实际含义:

随机选择在[0; 1]上均匀分布的N个给定大小的向量

注2 :我正在为Cellular Automata生成初始配置,这就是为什么我只能具有二进制值[0; 1]的原因。



回答:

要使用{0,1}中的元素生成1个随机向量:

unidrnd(2,sizeOfVector,1)-1 其他变体类似。



更多&回答... (https://stackoverflow.com/questions/2442141)