Метод Самокиша
Материал из Википедии — свободной энциклопедии
Метод Самокиша (Формула Стенжера) — метод численного интегрирования интегралов с особенностями.
Рассмотрим определённый интеграл с особенностями на концах промежутка [-1;1]
– оба конца особые. Метод заключается в отбрасывании концов на бесконечность, заменой переменных:
;
, тогда интеграл принимает следующий вид:
Интеграл берется по формуле трапеции. Пусть q = eh,где , m-количество промежутков деления, тогда :
Суммирование заканчивается, когда остаток ряда меньше заданного ε.
[править] Пример:
функция, вычисляющая интеграл, с использованием данного метода
double samokish(double a,double b) { double S=0,h; h = (double)(b-a)/n_of_intervals; double sum0=0; double sum1=0; double sum2=0; double sum12=0.1; int j,i,k=0; double q,qn=0; q=exp(h); while(fabs(sum12-S)>EPS) { sum12=2*(sum1+sum2); sum1=0;sum0=0.1;i=0; while(fabs(sum1-sum0)>EPS) { sum0=sum1; qn=exp(h*i); sum1+=funct((qn-1)/(qn+1))*qn/pow((qn+1),2); i++; } sum2=0;sum0=0.1;j=1; while(fabs(sum2-sum0)>EPS) { sum0=sum2; qn=exp(h*(-j)); sum2+=funct((qn-1)/(qn+1))*qn/pow((qn+1),2); j++; } S=2*(sum1+sum2); } return S*h; }