Matlab 如何生成介于0.xyz和0.abc之间的随机数?

Matlab 如何生成介于0.xyz和0.abc之间的随机数?,matlab,random,Matlab,Random,在MATLAB中,rand可用于生成0到1之间的随机数。我可以缩放它,使其位于0.01和0.02之间,如下所示: c=rand; c=c*0.01+0.01; 在0.xyz和0.abc的区间内,有没有更好的方法来生成随机数?没有,这几乎是生成限制在某个范围内的随机数的最佳方法。假设0.abc>0.xyz,您只需执行以下操作: c = (n - m)*rand(N,1) + m; 首先,您将在[0,N-m]之间生成N随机数,这是上面语句的第一部分所做的,然后添加m,这将转换您的范围,使值为[m

在MATLAB中,
rand
可用于生成0到1之间的随机数。我可以缩放它,使其位于0.01和0.02之间,如下所示:

c=rand;
c=c*0.01+0.01;

0.xyz
0.abc
的区间内,有没有更好的方法来生成随机数?

没有,这几乎是生成限制在某个范围内的随机数的最佳方法。假设
0.abc>0.xyz
,您只需执行以下操作:

c = (n - m)*rand(N,1) + m;

首先,您将在
[0,N-m]
之间生成
N
随机数,这是上面语句的第一部分所做的,然后添加
m
,这将转换您的范围,使值为
[m,N]
。对于您的情况,
m=0.xyz
n=0.abc

不,这几乎是生成限制在特定范围内的随机数的最佳方法。假设
0.abc>0.xyz
,您只需执行以下操作:

c = (n - m)*rand(N,1) + m;

首先,您将在
[0,N-m]
之间生成
N
随机数,这是上面语句的第一部分所做的,然后添加
m
,这将转换您的范围,使值为
[m,N]
。对于您的情况,
m=0.xyz
n=0.abc

不,这几乎是生成限制在特定范围内的随机数的最佳方法。假设
0.abc>0.xyz
,您只需执行以下操作:

c = (n - m)*rand(N,1) + m;

首先,您将在
[0,N-m]
之间生成
N
随机数,这是上面语句的第一部分所做的,然后添加
m
,这将转换您的范围,使值为
[m,N]
。对于您的情况,
m=0.xyz
n=0.abc

不,这几乎是生成限制在特定范围内的随机数的最佳方法。假设
0.abc>0.xyz
,您只需执行以下操作:

c = (n - m)*rand(N,1) + m;

首先,您将在
[0,N-m]
之间生成
N
随机数,这是上面语句的第一部分所做的,然后添加
m
,这将转换您的范围,使值为
[m,N]
。对于你的情况,<代码> m=0。XYZ < /C>和<代码> n=0。ABC < /代码> ./P>是否有其他一些语言如C++、java有更好的能力?@ Giffy——几乎所有我知道的编程语言都使用这种方法将随机数限制在一定范围内…至少从我所看到的(Java、Python等)。可能有一些函数/方法允许您指定要生成的随机数的范围,并且您不必自己执行上述操作,但我非常确定,它们只是方便的方法,可以在幕后执行我上面提到的操作。顺便说一句,谢谢你的接受!像C++、java这样的其他语言有更好的能力吗?@吉菲-几乎所有我知道的编程语言都使用这个方法将随机数限制在一定范围内。至少从我所看到的(Java、Python等)。可能有一些函数/方法允许您指定要生成的随机数的范围,并且您不必自己执行上述操作,但我非常确定,它们只是方便的方法,可以在幕后执行我上面提到的操作。顺便说一句,谢谢你的接受!像C++、java这样的其他语言有更好的能力吗?@吉菲-几乎所有我知道的编程语言都使用这个方法将随机数限制在一定范围内。至少从我所看到的(Java、Python等)。可能有一些函数/方法允许您指定要生成的随机数的范围,并且您不必自己执行上述操作,但我非常确定,它们只是方便的方法,可以在幕后执行我上面提到的操作。顺便说一句,谢谢你的接受!像C++、java这样的其他语言有更好的能力吗?@吉菲-几乎所有我知道的编程语言都使用这个方法将随机数限制在一定范围内。至少从我所看到的(Java、Python等)。可能有一些函数/方法允许您指定要生成的随机数的范围,并且您不必自己执行上述操作,但我非常确定,它们只是方便的方法,可以在幕后执行我上面提到的操作。顺便说一句,谢谢你的接受!