Составить программу, вычисляющую интеграл по заданной формуле - C (СИ)
Формулировка задачи:
Нужно составить программу, которая вычисляет интеграл.. помогите пожалуйста ее составить, я не могу понять как с экспонентой составляется интеграл.
Решение задачи: «Составить программу, вычисляющую интеграл по заданной формуле»
textual
Листинг программы
- #include <stdio.h>
- #include <math.h>
- #define N 10000
- double vyraz (double x);
- int main(int argc, const char * argv[]) {
- double S = 0, x, a, b, h;
- a = 0;
- b = 1;
- //отрезок [a, b] разобьем на N частей
- h = (b - a)/N;
- x = a + h;
- while (x < b)
- {
- S = S + 4*vyraz(x);
- x = x + h;
- //проверяем не вышло ли значение x за пределы полуинтервала [a, b]
- if (x >= b) break;
- S = S + 2*vyraz(x);
- x = x + h;
- }
- S = (h/3)*(S + vyraz(a) + vyraz(b));
- printf ("%.5lf\n", S);
- return 0;
- }
- double vyraz(double x){
- return exp(x)*sin(x)/(x+1);;
- }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с математикой и вводом-выводом
- Определение константы N, которая задает количество частей, на которые будет разбит отрезок [a, b]
- Объявление функции vyraz, которая будет вычислять значение функции на каждой точке отрезка
- Объявление переменных S, x, a, b, h. Значение a устанавливается равным 0, значение b - 1. Переменная h инициализируется как (b-a)/N
- Вычисление значения h и присвоение его переменной x
- Организация цикла, который будет выполняться до тех пор, пока значение x меньше b. Внутри цикла суммируются значения функции на каждой точке отрезка и вычисляется новое значение x
- Проверка значения x на выход за пределы полуинтервала [a, b]. Если x больше или равно b, цикл прерывается
- Вычисление значения S с помощью формулы трапеции. Значение S умножается на h/3 и к нему добавляются значения функции на a и b
- Вывод значения S на экран
- Функция vyraz, которая вычисляет значение функции на каждой точке отрезка
- Код внутри функции vyraz выполняет вычисление значения функции по формуле exp(x)*sin(x)/(x+1)
- Код в функции main использует функцию vyraz для вычисления значения функции на каждой точке отрезка
- Значения переменных a и b устанавливаются равными 0 и 1 соответственно
- Значение переменной N устанавливается равным 10000
- Значение переменной h устанавливается равным (b-a)/N
- Значение переменной x устанавливается равным a + h
- Цикл выполняется до тех пор, пока значение x меньше b
- Внутри цикла суммируются значения функции на каждой точке отрезка и вычисляется новое значение x
- Проверка значения x на выход за пределы полуинтервала [a, b]. Если x больше или равно b, цикл прерывается
- Значение переменной S устанавливается равным (h/3)*(S + vyraz(a) + vyraz(b))
- Значение переменной S выводится на экран
- Функция main возвращает 0, что означает успешное выполнение программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д