performance - 如何在matlab中高效生成随机符号/{-1,1}?

标签 performance matlab random sign

<分区>

在 Matlab 中,我需要随机生成符号(即 {-1,1})。我想出了一个解决方案,但我需要它更轻。我的解决方案意味着调用两个函数,一个乘法(尽管它是二进制移位)和一个减法。

这是我的代码:

L=1000;
x=2*round(rand(L,1))-1;

最佳答案

当随机数大于0.5 时,使用以下方法获取+1,否则为-1:

(rand(L,1) > 0.5)*2 - 1

或者类似randi:

randi([0,1], L, 1)*2 - 1

关于performance - 如何在matlab中高效生成随机符号/{-1,1}?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40029899/

相关文章:

java - 性能调整、检测和页面错误

c# - 计算对数算法的时间

matlab - 无需工具箱即可在 MATLAB 中实现遗传算法

python - 如何让 Python 3.4 只使用一次 randrange 变量?

python - 如何约束具有多个随机选择位置的项目,使每个项目的平均位置在一定范围内

python - 这是什么声音?

python - Python 首选语法背后的基本原理

mysql if inside select with aggregate functions

algorithm - 通过 LSB 替换法理解图像隐写术

Python numpy 更简单的语法?