查看单个帖子
旧 2019-12-10, 20:30   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 Matlab中二进制值的均匀分布

我需要生成给定数量的给定大小的向量N,每个向量的一致分布为0和1s。

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

a = randint(1, sizeOfVector, [0 1]); unifrnd函数看起来很有希望满足我的需求,但是我无法理解如何输出该大小的二进制向量。

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

任何帮助表示赞赏!

注意1确保-这是要求的实际含义:
随机选择在[0; 1]上均匀分布的N个给定大小的向量

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



回答:

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

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



更多&回答...
poster 当前离线   回复时引用此帖