FEMM 5

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

scipy.integrate

Средства численного интегрирования предназначены для функции одного вещественного аргумента, заданной вызываемым объектом.

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

scipy.integrate.quadАдаптивная квадратура Гаусса—Кронрода.

scipy.integrate.quad

scipy.integrate.quad(f, a, b, *, order=5, eps=1e-14)

Адаптивная квадратура Гаусса—Кронрода.

Аргументы

Аргументы вызова scipy.integrate.quad
ИмяНазначение и допустимые значения
fВызываемая функция f(x), которая возвращает вещественное число.
aВещественная нижняя граница.
bВещественная верхняя граница.
orderПорядок/глубина адаптивной квадратуры; по умолчанию 5.
epsЧисловой параметр интерфейса; по умолчанию 10 × 10⁻¹⁵. В данной реализации quad он принимается и передаётся во внутренний алгоритм, но не участвует в критерии остановки.

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

Кортеж (value,error): два float.

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

  • Особенность встроенной реализации: изменение eps не задаёт требуемую точность quad. Глубину рекурсивного разбиения ограничивает order; оценивайте результат по возвращённой оценке error и повторному расчёту с другим order.

Пример

MicroPython FEMM 5
"Пример scipy.integrate.quad.\nСреда: встроенный MicroPython FEMM 5.\nАдаптивная квадратура Гаусса—Кронрода.\nРезультат: Кортеж (value,error): два float."

import scipy as sp
def f(i):
    # Учебное потокосцепление psi=2I; интеграл по току — коэнергия, Дж.
    return 2*i
r=sp.integrate.quad(f,0.0,2.0,eps=1e-8)
v,error=r
assert abs(v-4)<1e-6
print(v,error)

Ожидаемый результат. Интеграл равен 4 Дж с допуском 1e-6.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

scipy.integrate.rombergУточнение трапеций экстраполяцией Ромберга.

scipy.integrate.romberg

scipy.integrate.romberg(f, a, b, *, steps=100, eps=1e-14)

Уточнение трапеций экстраполяцией Ромберга.

Аргументы

Аргументы вызова scipy.integrate.romberg
ИмяНазначение и допустимые значения
fВызываемая функция f(x), которая возвращает вещественное число.
aВещественная нижняя граница.
bВещественная верхняя граница.
stepsПредельное число шагов уточнения; по умолчанию 100.
epsЧисленная точность; исходный default для double равен 1e-14. В примере задаётся явно.

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

float — оценка интеграла.

Пример

MicroPython FEMM 5
"Пример scipy.integrate.romberg.\nСреда: встроенный MicroPython FEMM 5.\nУточнение трапеций экстраполяцией Ромберга.\nРезультат: float — оценка интеграла."

import scipy as sp
def f(i):
    # Учебное потокосцепление psi=2I; интеграл по току — коэнергия, Дж.
    return 2*i
r=sp.integrate.romberg(f,0.0,2.0,eps=1e-8)
assert abs(r-4)<1e-6
print(r)

Ожидаемый результат. Интеграл равен 4 Дж с допуском 1e-6.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

scipy.integrate.simpsonАдаптивное интегрирование по формуле Симпсона.

scipy.integrate.simpson

scipy.integrate.simpson(f, a, b, *, steps=100, eps=1e-14)

Адаптивное интегрирование по формуле Симпсона.

Аргументы

Аргументы вызова scipy.integrate.simpson
ИмяНазначение и допустимые значения
fВызываемая функция f(x), которая возвращает вещественное число.
aВещественная нижняя граница.
bВещественная верхняя граница.
stepsПредельное число шагов уточнения; по умолчанию 100.
epsЧисленная точность; исходный default для double равен 1e-14. В примере задаётся явно.

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

float — оценка интеграла.

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

  • В локальном scipy.integrate.simpson первый аргумент — функция f(x), а не таблица отсчётов. Для таблицы используйте np.trapz.

Пример

MicroPython FEMM 5
"Пример scipy.integrate.simpson.\nСреда: встроенный MicroPython FEMM 5.\nАдаптивное интегрирование по формуле Симпсона.\nРезультат: float — оценка интеграла."

import scipy as sp
def f(i):
    # Учебное потокосцепление psi=2I; интеграл по току — коэнергия, Дж.
    return 2*i
r=sp.integrate.simpson(f,0.0,2.0,eps=1e-8)
assert abs(r-4)<1e-6
print(r)

Ожидаемый результат. Интеграл равен 4 Дж с допуском 1e-6.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

scipy.integrate.tanhsinhДвойное экспоненциальное преобразование tanh-sinh.

scipy.integrate.tanhsinh

scipy.integrate.tanhsinh(f, a, b, *, levels=6, eps=1e-14)

Двойное экспоненциальное преобразование tanh-sinh.

Аргументы

Аргументы вызова scipy.integrate.tanhsinh
ИмяНазначение и допустимые значения
fВызываемая функция f(x), которая возвращает вещественное число.
aВещественная нижняя граница.
bВещественная верхняя граница.
levelsМаксимальное число уровней; положительное целое, по умолчанию 6.
epsЧисленная точность; исходный default для double равен 1e-14. В примере задаётся явно.

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

Кортеж (value,error): два float.

Пример

MicroPython FEMM 5
"Пример scipy.integrate.tanhsinh.\nСреда: встроенный MicroPython FEMM 5.\nДвойное экспоненциальное преобразование tanh-sinh.\nРезультат: Кортеж (value,error): два float."

import scipy as sp
def f(i):
    # Учебное потокосцепление psi=2I; интеграл по току — коэнергия, Дж.
    return 2*i
r=sp.integrate.tanhsinh(f,0.0,2.0,eps=1e-8)
v,error=r
assert abs(v-4)<1e-6
print(v,error)

Ожидаемый результат. Интеграл равен 4 Дж с допуском 1e-6.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

Имена в установленной сборке

Перечень получен во встроенном интерпретаторе. Он включает функции, классы и константы. Ссылки ведут к контрактам; для прямого доступа ulab учитывайте условия этого раздела.