Добрый день
Нужен совет.
У меня при вычислениях возникает интеграл
Он неберущийся, более того, он считается достаточно медленно. А для мне его надо сделать быстровычисляемым.
Это нужно для того чтобы использовать
в задаче оптимизации, когда придется многократно вызывать функцию
. Поэтому по возможности функция должна быть компактной и быстровычисляемой.
Вид функции для логарифмических осей X и Y следующий:
Насколько я понимаю, тут нужна аппроксимация.
В случае функции одной переменной хороший (если не лучший) вариант - минимаксная аппроксимация, для повышенной точности обычно делят на отрезки ось x и аппроксимируют уже. Во всяком случае я видел реализацию экспоненциального интеграла
в пакете ALGLIB именно так реализованную и там достигалась точность
В случае двух переменных я нашел, что общепризнаны только кубические сплайны, но так получается невысокая точность при умеренном размере функции, либо высокая точность при большом размере функции (мелкая сетка и куча хранимых сплайнов)
Как оптимально реализовать подобную функцию?
Требуемая точность
, а желательно
Массив уже вычисленных точек для логарифмических осей X и Y
текстовый файл.zip