Как называется данный метод численного интегрирования?
Я написал программу, которая составляет таблицу первообразной данной функции с шагом delta (чем меньше, тем точнее). Также эта программа выдаёт более точные результаты, если функция непрерывна на данном отрезке. Как называется данный метод? Или так никто не делает?
Вот код (с таким же примером, что на изображении):
#include <cmath>
#include <iostream>
using namespace std;
double f(double x)
{
return sin(x) - cos(5*x); //пример
}
int main()
{
double delta = 0.01; //шаг таблицы
double a = 0, b = 5; //начало и конец отрезка
double c = 0; //некая константа
double y0 = 0, y1 = 0; //у в точке а приравниваем к 0
cout << fixed << "(" << a << ", " << c << ")" << endl; //вывод тaблицы
for (double x = a + delta; x < b; x += delta)
{
y1 = y0 + f(x) * delta;
cout << fixed << "(" << x << ", " << y1 + c << ")" << endl; //вывод тaблицы
y0 = y1;
}
}
Ответы (1 шт):
Вы изобрели метод прямоугольников. Реализован он не точно. Хотя ваша формула при уменьшении интервала сходится к точному значению интеграла, она даёт ошибку большую чем любой из трёх "официальных" методов прямоугольников. Эта причина по которой вашим методом не пользуются: есть столь же простые, но более точные методы.
P.S. На самом деле здорово, что вы исследуете численное интегрирование самостоятельно. Следующий шаг - изобрести способ оценивать качество различных методов и научиться сравнивать их.