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

3
在Matlab中,我需要随机生成符号(即{-1,1})。我已经想出了一个解决方案,但我希望这个方案更轻便。我的解决方案涉及调用两个函数,一个乘法(虽然是二进制位移)和一个减法。
以下是我的代码:
L=1000;
x=2*round(rand(L,1))-1;
1个回答

5

使用以下代码,当随机数大于0.5时得到+1,否则得到-1

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

或者类似于randi

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接