Составить программу, вычисляющую интеграл по заданной формуле - 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, что означает успешное выполнение программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д