
C/C++
Программирование С++ Решение поставленной задачи
Добрый день, несколько часов уже пытаюсь решить данную задачу на языке С++. Может тут есть знатоки, которые помогут написать код для решения этого задания?

В методе Симпсона ошибка ε~h⁴, где шаг интегрирования h=(b-a)/n - это длина отрезка интегрирования, делённая на количество интервалов, поэтому целесообразно количество интервалов брать порядка 1/⁴√ε.
sin(x)•cos(x) - это половина удвоенного синуса
Точное значение интеграла:
I=0,1853760679884347837248...
Поэтому запускаем проверочную программу:
sin(x)•cos(x) - это половина удвоенного синуса
Точное значение интеграла:
I=0,1853760679884347837248...
Поэтому запускаем проверочную программу:
#include
#include
using namespace std;
double Simpson(double (*f)(double),
double a, double b, double eps)
{
double i, n = (int)((b - a) / sqrt(sqrt(eps))),
h = (b - a) / n, hp = h * 0.5, u = f(b - hp), v = 0., x;
for (i = 1.; i < n; i += 1.)
{ x = a + i * h; u += f(x - hp); v += f(x); }
return (f(a) + f(b) + 4. * u + 2. * v) * h / 6.;
}
double f(double x)
{ return 0.5 * sin(2. * x) / (1. + x * (1. + x)); }
int main()
{
cout.precision(16);
double a, b, eps, I, S = 0.1853760679884347837;
while (true)
{
cout > eps;
I = Simpson(f, 0., 1., eps);
cout
double func(double x) { return sin(x) * cos(x) / (x * x + x + 1); }
double simpson(double (*f)(double), double a, double b, double e) {
double s = 0.0, s0, h = b - a;
double f0 = f(a) + f(b), f2 = 0.0;
do {
double f4 = 0.0;
for (double x = a + h / 2.0; x < b; x += h) { f4 += f(x); }
s0 = s;
s = (f0 + 2.0 * f2 + 4.0 * f4) * (h /= 2.0) / 3.0;
f2 += f4;
} while (fabs(s - s0) >= e);
return s;
}
int main(void) {
double eps;
cin >> eps; // вводим заданную точность
cout
Владимир Шевчук
спасибо!
Похожие вопросы
- Программирование C++ Помогите решить задачу
- Основы программирования. Решение задач. Обработка структур. Программа.
- Помогите решить задачу по программированию на C++
- Задача по программированию C++
- Задача по программированию. Решить на Python или C++
- Помогите решить задачу по программированию
- Программирование, нужна помощь в решение задачи! На си или си++
- Помогите с решением задачи на языке СИ
- Как оптимизировать код, чтобы не было превышения по времени к задаче (C++, динамическое программирование)?
- Задача по программированию