Так что вам нужно fill()
массив с Random
элементами.
import scala.util.Random
val rndm = new Random(1911L)
Array.fill(100)(rndm.between(math.pow(10,-10), math.pow(10,10)))
//res0: Array[Double] = Array(6.08868427907728E9
// , 3.29548545155816E9
// , 9.52802903383275E9
// , 7.981295238889314E9
// , 1.9462480080050848E9
// . . .
Это работает, потому что 2-й параметр метода fill()
является "по имени", то есть переоценивается для каждого элемента.
ОБНОВЛЕНИЕ
Все не так чисто, если у вас нет метода .between()
(Scala 2.13) .
Array.fill(100)(rndm.nextDouble())
.map(_ * math.pow(10,10))
Обратите внимание, что на самом деле это слово имеет значение 0.0
вместо желаемого 0.0000000001
. Маловероятно, что у вас будет слишком маленькая запись, особенно если взять только 100 образцов. Тем не менее, есть шаги, которые вы можете предпринять, чтобы избежать этого.