在MATLAB

时间:2017-11-21 22:29:17

标签: matlab random

我需要在[-a, a]之间生成随机数,而不是0。我可以通过randi(2*a + 1) - (a+1)来部分实现这一目标。但是,通过这样做,代码也可能返回值0,这是我想要避免的。

你可以请我带头吗?谢谢!

1 个答案:

答案 0 :(得分:1)

您想要从一组大小2*a中选择随机数,因此请使用:

u = randi(2*a)-(a+1);

然后将所有0结果移至a

u(u==0)=a;