Нужна помощь,по информатике Численное интегрирование методами центральных прямоугольников, трапеций и Симпсона Вычислить определенный интеграл от функции f(х) на промежутке [а, b] методом прямоугольников. f (x) = (1 + x cosx)^2, a = -6, b = -5. Число разбиений n = 10; 40; 160; 640. Язык программирования Си
double rectangle_method(double a, double b, int n) double h = (b - a) / n double sum = 0.0 for (int i = 0; i < n; i++) double x = a + h * (i + 0.5) sum += f(x)
return sum * h
int main() double a = -6.0 double b = -5.0 int n_values[] = {10, 40, 160, 640} int n_values_length = sizeof(n_values) / sizeof(n_values[0]) for (int i = 0; i < n_values_length; i++) int n = n_values[i] double result = rectangle_method(a, b, n) printf("n = %d, Integral = %f\n", n, result)
return 0 }
Программа вычисляет определенный интеграл от функции f(x) на промежутке [-6, -5] методом центральных прямоугольников с различным числом разбиений n. В данном случае программа вычисляет значения для n = 10, n = 40, n = 160 и n = 640.
Пример программы на языке программирования Си для вычисления определенного интеграла методом центральных прямоугольников:
#include <stdio.h>#include <math.h>
double f(double x)
return pow((1 + x * cos(x)), 2)
double rectangle_method(double a, double b, int n)
double h = (b - a) / n
double sum = 0.0
for (int i = 0; i < n; i++)
double x = a + h * (i + 0.5)
sum += f(x)
return sum * h
int main()
double a = -6.0
double b = -5.0
int n_values[] = {10, 40, 160, 640}
int n_values_length = sizeof(n_values) / sizeof(n_values[0])
for (int i = 0; i < n_values_length; i++)
int n = n_values[i]
double result = rectangle_method(a, b, n)
printf("n = %d, Integral = %f\n", n, result)
return 0
}
Программа вычисляет определенный интеграл от функции f(x) на промежутке [-6, -5] методом центральных прямоугольников с различным числом разбиений n. В данном случае программа вычисляет значения для n = 10, n = 40, n = 160 и n = 640.