2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Подавление вывода предупреждений в функции интегрирования
Сообщение20.11.2010, 09:49 
Аватара пользователя
Язык Python, пакет SciPy.
Если функция трёхмерного интегрирования tplquad не может обеспечить сходимость с заданной точностью то выводит огромное количество предупреждений, что пожирает всё время процессора.
Код:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from scipy.integrate import quad, tplquad
import math

def f1(x,y,z):
    if x**2 + y**2 + z**2 < 1.0:
        return 1.0
    return 0.0
a = -2.0
b = 2.0

def gfun(x):
    return -2.0

def hfun(x):
    return 2.0

def qfun(x, y):
    return -2.0

def rfun(x, y):
    return 2.0

res = tplquad(f1, a, b, gfun, hfun, qfun, rfun)
print res[0]


Предупреждения:
Код:
Warning: The maximum number of subdivisions (50) has been achieved.
  If increasing the limit yields no improvement it is advised to analyze
  the integrand in order to determine the difficulties.  If the position of a
  local difficulty can be determined (singularity, discontinuity) one will
  probably gain from splitting up the interval and calling the integrator
  on the subranges.  Perhaps a special-purpose integrator should be used.

 
 
 
 Re: Подавление вывода предупреждений в функции интегрирования
Сообщение21.11.2010, 08:25 
Аватара пользователя
Решил отключением вывода в исходнике.

 
 
 [ Сообщений: 2 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group