在Matlab中,我需要随机生成符号(即{-1,1})。我已经提出了一个解决方案,但我需要这个更轻松。我的解决方案意味着调用两个函数,一个乘法(虽然它是一个二进制移位)和一个减法。
这是我的代码:
L=1000;
x=2*round(rand(L,1))-1;
答案 0 :(得分:2)
如果随机数大于+1
,则使用以下内容获取0.5
,否则使用-1
(rand(L,1) > 0.5)*2 - 1
或类似于randi
:
randi([0,1], L, 1)*2 - 1