Wpis z mikrobloga

Hej mam do zminimalizowania dość skomplikowaną funkcję która zależy od wielu parametrów i która zawiera sporo funkcji matematycznych typu sinh, cos, pierwiastek itp, czyli funkcje które mają konkretną dziedzine i w momencie gdy chcemy obliczyc jej wartosc w niedozwolonym argumencie to dostajemy NaN. To samo dotyczy dzielenia przez 0 oraz gdy chcemy obliczyc bardzo duza potege jakiejs liczby. Używam funkcji brute z pakietu scipy.optimize i w tej funkcji podaje zakres wartosc i dla kazdego argumentu oraz krok o jaki kazdy parametr ma sie zmieniac. W rezultacie dla niektorych wartosci argumentow dostaje wartosc minimlizowanej funkcji NaN i caly algorytm sie psuje i zamiast zwrocic najmniejsza wartosc sposrod wszystkich sprawdzanych to dostaje NaN. Co zrobic zeby NaN nie mialy wplywu na dzialanie algorytmu?
#python
  • 7
@ProfesorBigos: Ta funkcja nic mi nie da. Prowizorycznie wybrnałem warunkiiem if numpy.isnan(x) ale mialem nadzieje ze da sie tak zrobic ze jak chce obliczyc np. logarytm z -3 to zamiast zwracac NaN zwracalo inf i wtedy warunek nie bylby potrzebny