Модули и функции · встроенный MicroPython FEMM 5
numpy.random
Генератор псевдослучайных чисел позволяет задавать воспроизводимые последовательности для численных экспериментов.
Условия работы
- Создайте экземпляр rng=np.random.Generator(seed) и вызывайте его методы. Состояние хранится в самом генераторе.
- Для повторяемости задавайте явное целое seed и сохраняйте порядок вызовов. Случайные отклонения параметров не являются оценкой достоверности полевой модели.
numpy.random.Generatornumpy.random.Generator.randomnumpy.random.Generator.uniformnumpy.random.Generator.normalnumpy.random.GeneratorСоздаёт генератор PCG встроенного численного модуля.
numpy.random.Generator
numpy.random.Generator(seed)Создаёт генератор PCG встроенного численного модуля.
Аргументы
| Имя | Назначение и допустимые значения |
|---|---|
seed | Начальное состояние генератора, целое число; передавайте позиционно для воспроизводимого расчёта. |
Возвращаемое значение
Объект Generator либо кортеж Generator при seed-кортеже.
Особенности вызова
- В примерах начальное состояние передаётся явно: Generator(123). Это также исключает зависимость от системного источника начального состояния.
- Передавайте начальное состояние позиционно. Вызов без аргументов не входит в проверенный контракт этой сборки; для воспроизводимых примеров используйте целое seed.
Пример
"Пример numpy.random.Generator.\nСреда: встроенный MicroPython FEMM 5.\nСоздаёт генератор PCG встроенного численного модуля.\nРезультат: Объект Generator либо кортеж Generator при seed-кортеже."
import numpy as np
a=np.random.Generator(123)
b=np.random.Generator(123)
x=a.random()
y=b.random()
assert x==y
print(x)
Ожидаемый результат. При одинаковом seed первый отсчёт двух генераторов совпадает.
Скачать пример · Ссылка на функцию
Этот пример выполнен в установленном FEMM 5.
numpy.random.Generator.randomГенерирует равномерные значения от 0 включительно до 1 исключительно.
numpy.random.Generator.random
rng.random(size=None, *, out=None)Генерирует равномерные значения от 0 включительно до 1 исключительно.
Аргументы
| Имя | Назначение и допустимые значения |
|---|---|
rng | Экземпляр np.random.Generator. |
size | None возвращает скаляр; для массива задавайте кортеж размеров, например (4,) или (2,3). |
out | Готовый плотный float ndarray для заполнения. При передаче out оставляйте size=None: форма берётся из выходного массива. |
Возвращаемое значение
float в [0,1) либо вещественный ndarray.
Особенности вызова
- При создании массива через size используйте кортеж. Передача целого size без out в текущем нативном коде неверно интерпретирует объект и может зависнуть; такая форма не используется.
Пример
"Пример numpy.random.Generator.random.\nСреда: встроенный MicroPython FEMM 5.\nГенерирует равномерные значения от 0 включительно до 1 исключительно.\nРезультат: float в [0,1) либо вещественный ndarray."
import numpy as np
rng=np.random.Generator(123)
x=rng.random(size=(4,))
assert len(x)==4 and all([0<=v<1 for v in x])
print(x)
Ожидаемый результат. Четыре числа в [0,1).
Скачать пример · Ссылка на функцию
Этот пример выполнен в установленном FEMM 5.
numpy.random.Generator.uniformГенерирует значения в заданном диапазоне.
numpy.random.Generator.uniform
rng.uniform(low=0.0, high=1.0, size=None)Генерирует значения в заданном диапазоне.
Аргументы
| Имя | Назначение и допустимые значения |
|---|---|
rng | Экземпляр np.random.Generator. |
low | Нижняя граница. |
high | Верхняя граница, больше low. |
size | Для заданного диапазона используйте кортеж формы, например (4,). Целый size вызывает TypeError. |
Возвращаемое значение
float либо вещественный ndarray равномерных отсчётов.
Особенности вызова
- Особенность текущего ядра: при size=None метод возвращает необработанный отсчёт в [0,1) и не применяет low/high. Для одного значения заданного диапазона используйте rng.uniform(low,high,size=(1,))[0].
Пример
"Пример numpy.random.Generator.uniform.\nСреда: встроенный MicroPython FEMM 5.\nГенерирует значения в заданном диапазоне.\nРезультат: float либо вещественный ndarray равномерных отсчётов."
import numpy as np
rng=np.random.Generator(123)
x=rng.uniform(0.9,1.1,size=(4,))
assert all([0.9<=v<1.1 for v in x])
print(x)
Ожидаемый результат. Четыре множителя допуска в диапазоне [0.9,1.1).
Скачать пример · Ссылка на функцию
Этот пример выполнен в установленном FEMM 5.
numpy.random.Generator.normalГенерирует нормальные значения методом преобразования равномерных отсчётов.
numpy.random.Generator.normal
rng.normal(loc=0.0, scale=1.0, size=None)Генерирует нормальные значения методом преобразования равномерных отсчётов.
Аргументы
| Имя | Назначение и допустимые значения |
|---|---|
rng | Экземпляр np.random.Generator. |
loc | Математическое ожидание. |
scale | Неотрицательное среднеквадратическое отклонение. |
size | None — скаляр; иначе длина либо кортеж формы. |
Возвращаемое значение
float либо вещественный ndarray нормальных отсчётов.
Пример
"Пример numpy.random.Generator.normal.\nСреда: встроенный MicroPython FEMM 5.\nГенерирует нормальные значения методом преобразования равномерных отсчётов.\nРезультат: float либо вещественный ndarray нормальных отсчётов."
import numpy as np
rng=np.random.Generator(123)
x=rng.normal(loc=2,scale=0,size=4)
assert len(x)==4 and all([v==2 for v in x])
print(x)
Ожидаемый результат. При нулевом отклонении получены четыре значения 2.
Скачать пример · Ссылка на функцию
Этот пример выполнен в установленном FEMM 5.
Имена в установленной сборке
Перечень получен во встроенном интерпретаторе. Он включает функции, классы и константы. Ссылки ведут к контрактам; для прямого доступа ulab учитывайте условия этого раздела.