FEMM 5

Модули и функции · встроенный MicroPython FEMM 5

numpy.random

Генератор псевдослучайных чисел позволяет задавать воспроизводимые последовательности для численных экспериментов.

Условия работы

numpy.random.GeneratorСоздаёт генератор PCG встроенного численного модуля.

numpy.random.Generator

numpy.random.Generator(seed)

Создаёт генератор PCG встроенного численного модуля.

Аргументы

Аргументы вызова numpy.random.Generator
ИмяНазначение и допустимые значения
seedНачальное состояние генератора, целое число; передавайте позиционно для воспроизводимого расчёта.

Возвращаемое значение

Объект Generator либо кортеж Generator при seed-кортеже.

Особенности вызова

  • В примерах начальное состояние передаётся явно: Generator(123). Это также исключает зависимость от системного источника начального состояния.
  • Передавайте начальное состояние позиционно. Вызов без аргументов не входит в проверенный контракт этой сборки; для воспроизводимых примеров используйте целое seed.

Пример

MicroPython FEMM 5
"Пример 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 исключительно.

Аргументы

Аргументы вызова numpy.random.Generator.random
ИмяНазначение и допустимые значения
rngЭкземпляр np.random.Generator.
sizeNone возвращает скаляр; для массива задавайте кортеж размеров, например (4,) или (2,3).
outГотовый плотный float ndarray для заполнения. При передаче out оставляйте size=None: форма берётся из выходного массива.

Возвращаемое значение

float в [0,1) либо вещественный ndarray.

Особенности вызова

  • При создании массива через size используйте кортеж. Передача целого size без out в текущем нативном коде неверно интерпретирует объект и может зависнуть; такая форма не используется.

Пример

MicroPython FEMM 5
"Пример 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)

Генерирует значения в заданном диапазоне.

Аргументы

Аргументы вызова numpy.random.Generator.uniform
ИмяНазначение и допустимые значения
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].

Пример

MicroPython FEMM 5
"Пример 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)

Генерирует нормальные значения методом преобразования равномерных отсчётов.

Аргументы

Аргументы вызова numpy.random.Generator.normal
ИмяНазначение и допустимые значения
rngЭкземпляр np.random.Generator.
locМатематическое ожидание.
scaleНеотрицательное среднеквадратическое отклонение.
sizeNone — скаляр; иначе длина либо кортеж формы.

Возвращаемое значение

float либо вещественный ndarray нормальных отсчётов.

Пример

MicroPython FEMM 5
"Пример 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 учитывайте условия этого раздела.