Измените переменную интегрирования с x = (- inf, inf) на z = atan (x)
х = тангенс (г),
dx / dz = 1 / (cos (z)) ^ 2
В новой переменной z пределы интеграции составляют от -% pi / 2 + eps до +% pi / 2-eps, где eps - очень небольшое положительное число (иначе вы не сможете разделить на cos (z)) и
интеграл f (x) dx =
= целое число f (x (z)) d (x (z))
= целое число f (z) dx / dz dz
Например,
функция у = гауссова (х); у = ехр (-х ^ 2/2) / SQRT (2 * пи%); EndFunction;
INTG (-10,10, Gaussian)
Тот же самый результат интеграции достигается с
функция y = Gmodified (z); х = тангенс (г); у = гауссова (х) / (соз (г)) ^ 2; EndFunction;
INTG (Atan (-10), Atan (10), Gmodified)
Интересно, что Scilab примет вышеуказанный интеграл даже для
INTG (-% пи / 2,% пи / 2, Gmodified)
но это только потому, что Scilab оценивает 1 / cos (% pi / 2) как 1.633D + 16, а не бесконечность.