joh*_*ood 3 random performance matlab sign
在 Matlab 中,我需要随机生成符号(即 {-1,1})。我想出了一个解决方案,但我需要这个更轻。我的解决方案意味着调用两个函数,一个乘法(虽然它是一个二进制移位)和一个减法。
这是我的代码:
L=1000;
x=2*round(rand(L,1))-1;
Run Code Online (Sandbox Code Playgroud)
使用以下方法获取+1随机数何时大于0.5,-1否则:
(rand(L,1) > 0.5)*2 - 1
Run Code Online (Sandbox Code Playgroud)
或类似randi:
randi([0,1], L, 1)*2 - 1
Run Code Online (Sandbox Code Playgroud)