Реферат: Расчет двойного интеграла при помощи метода Симпсона

double m_Simpson (double (*func) (double, double),

double t_fix, double t_limit, int N)

{

double sum1 = 0; /* -¬ */

double sum2 = 0; /* ¦ временные переменные */

double sum3 = 0; /* -- */

double sum; /* конечный результат */

double h = (2 * t_limit) / N; /* шаг сетки */

int i; /* временная */

sum1 = (*func) (t_fix, -t_limit) + (*func) (t_fix, +t_limit);

for (i = 1; i <= N - 1; i++) sum2 += (*func) (t_fix, -t_limit + (i * h));

sum2 *= 2;

for (i = 1; i <= N; i++) sum3 += (*func) (t_fix, -t_limit + ((i-0.5) * h));

sum3 *= 4;

sum = sum1 + sum2 + sum3;

sum = (h / 6) * sum;

return sum;

}

/* */

/* Глобальные переменные */

/* ~~~~~~~~~~~~~~~~~~~~~ */

#define PI 3.1415926536 /* число П */

double k; /* параметр функции - задается пользователем */

int N_MAX; /* число узлов сетки разбиения */

double (*currFunc) (double, double); /* выбранная пользователем функция */

double f1 (double x, double y);

double f2 (double x, double y);

double f3 (double x, double y);

/*****************************************************************************

К-во Просмотров: 209
Бесплатно скачать Реферат: Расчет двойного интеграла при помощи метода Симпсона