2016-11-05 10 views
0

Я хотел бы интегрировать это:Как получить произвольную точность и интегрировать с scipy в python?

import numpy as np 

from scipy.integrate import tplquad 

def f(y,x,z): 
    return 2*np.sin(z)*np.cos(np.arctan((2*np.cos(y)-0.5+x)/(2*np.sin(y)))) 

tplquad(f,0,np.pi/2, lambda z: 0, lambda z:1, lambda z, x: 0, lambda z, x: np.pi/2,) 

Но я пробовал много метод, ничего не работает, и я не уверен, чтобы иметь лучший метод. Какая лучшая библиотека интегрируется с произвольной точностью и использует ее в scipy tplwuad? Мне нужно настроить точность в одно и то же время в функции tplquad или нет?

ответ

1

из mpmath импорта т.пл. mp.dps = 30

Защиту f1 (у, х, г): возврата 2 * mp.sin (г) * mp.cos (mp.atan ((2 * mp.sin (y) -0,5 + x)/(2 * mp.cos (y))))

def f2 (y, x, z): return 2 * mp.cos (z) * mp .sin (mp.atan ((2 * mp.sin (y) -0,5 + x)/(2 * mp.cos (y))))

print mp.quad (f1, [0, mp. pi/2], [0,1], [0, mp.pi/2]) print mp.quad (f2, [0, mp.pi/2], [0,1], [0, mp. pi/2])

 Смежные вопросы

  • Нет связанных вопросов^_^