Как интегрировать функцию с высокой точностьюPython

Программы на Python
Ответить Пред. темаСлед. тема
Гость
 Как интегрировать функцию с высокой точностью

Сообщение Гость »


Я пытаюсь интегрировать произведение функций sin и cos. Результаты, которые я получаю, совпадают, когда речь идет об относительно больших числах, таких как мощность e-02....e-04. Тем не менее, дробные числа, составляющие степень е-11.....е-32, далеки от идеала, а иногда даже противоположны (если это положительное число, я получаю отрицательное).

импортировать numpy как np импортировать scipy.integrate как spi # Определим подынтегральную функцию защита f0(x,n): если n == 1: возврат (1-х) элиф n == 2: вернуть х еще: вернуть np.sin((n - 2) * np.pi * x) def f00(x, m, n): вернуть f0(x,m)*f0(x,n) # Определим размеры тензора НМНТ_0 = 12 # Создаем тензор I00 = np.zeros((NMHT_0, NMHT_0)) # Выполняем интеграцию для м в диапазоне (NMHT_0): для n в диапазоне (NMHT_0): результат1, ошибка1 = spi.quad(f00, 0, 1, args=(m, n)) I00[m, n] = результат1 Сначала я попытался интегрировать с помощью функции scipy.integrate.quad_vec, но все дробные числа не совпадают. Я заменил функцию quad_vec на scipy.integrate.quad, и ей удалось добиться совпадения некоторых дробных чисел, но большинство дробных чисел по-прежнему не совпадают. Есть ли способ получить более точные результаты или мне следует попробовать другую библиотеку?
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»