Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
11
Добавлен:
09.06.2015
Размер:
420 б
Скачать
int simpson(double a,double b,double e,double (*g)(double),double *s)
{int n=20,nmax=16384,i; double h,s0;
h=(b-a)/n;
for(i=1,*s=0;i<=n-1;i++)if(i%2==0)*s+=2*g(a+i*h); else *s+=4*g(a+i*h);
*s+=g(a)+g(b); *s*=h/3;
do { s0=*s; n*=2; h/=2;
for(i=1,*s=0;i<=n-1;i++)if(i%2==0)*s+=2*g(a+i*h); else *s+=4*g(a+i*h);
*s+=g(a)+g(b); *s*=h/3;
if(fabs(*s-s0)<e)return 0;
} while(n<nmax);
// ў аЁ©­л© ўл室
return 1;
}
Соседние файлы в папке lecture9