如何使用特定范围内的值创建随机矩阵?

Mey*_*sam 0 random matlab matrix

rand(3,4)
Run Code Online (Sandbox Code Playgroud)

为我生成以下3x4矩阵:

0.4229    0.4709    0.6385    0.3196
0.0942    0.6959    0.0336    0.5309
0.5985    0.6999    0.0688    0.6544
Run Code Online (Sandbox Code Playgroud)

如何将生成的值限制在特定范围内?就像将它们限制在1到100之间的值一样.如何指定我是否希望随机数为float或int?

Ste*_*fin 6

您可以乘以所需的范围,并添加最小值.因此,要获得范围内值的矩阵[1, 100],请执行以下操作:

1 + 99*rand(3,4)
Run Code Online (Sandbox Code Playgroud)

如果您需要single或其他,请使用typename参数指定此.

如果你想要整数,使用randi:

1 + randi(99,3,4)
Run Code Online (Sandbox Code Playgroud)