diff options
Diffstat (limited to 'src/integral.c')
-rw-r--r-- | src/integral.c | 36 |
1 files changed, 0 insertions, 36 deletions
diff --git a/src/integral.c b/src/integral.c deleted file mode 100644 index f791803..0000000 --- a/src/integral.c +++ /dev/null @@ -1,36 +0,0 @@ -#include "integral.h" - -// эта переменная позволяет контролировать точность интегрирования -// и может быть установлена в файле main -double accrc = 10000.0; - -// интеграл прямоугольниками -double int_rect(func_t f, double a, double b) { - const double dx = (b-a) / accrc; - const double dx_2 = dx / 2.0; - double sum = 0.0; - for (double i = a + dx; i < b; i += dx) - sum += f(i - dx_2) * dx; - return sum; -} - -// интеграл трапециями -double int_trap(func_t f, double a, double b) { - const double dx = (b-a) / accrc; - double sum = 0.0; - for (double i = a; i < b; i += dx) - sum += dx * (f(i) + f(i+dx))/2 ; - return sum; -} - -// интегрирование параболами -double int_simp(func_t f, double a, double b) { - const double dx = (b-a) / accrc; - const double dx_2 = dx / 2; - const double dx_6 = dx / 6; - double sum = 0.0; - for(double i = a; i < b; i += dx) { - sum += dx_6 * (f(i) + 4 * f(i + dx_2) + f(i + dx)); - } - return sum; -} |