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

时间:2016-10-13 20:00:13

标签: matlab random sign

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

这是我的代码:

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

1 个答案:

答案 0 :(得分:2)

如果随机数大于+1,则使用以下内容获取0.5,否则使用-1

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

或类似于randi

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