Рекуррентное соотношение - C (СИ)
Формулировка задачи:
Есть задача:
Для динамического одномерного массива X из N (0<N≤20) элементов
составить алгоритм и программу (консольное приложение на Си)
нахождения суммы ряда с заданной точностью E (0<E<0.1) для
каждого из элементов X. Использовать рекуррентные
соотношения при вычислении очередного члена ряда.
Возникли проблемы при вычислении рекуррентной формулы( конкретно при делении i члена ряда на i-1). Саму программу уже написал. Прощу помощи.
Ряд:
Решение задачи: «Рекуррентное соотношение»
textual
Листинг программы
#include<stdio.h> #include<math.h> double sum(double x,double eps); int main(void) { double x=0.5,eps=0.001; printf("%lf\n",sum(x,eps)); return 0; } double sum(double x,double eps) { int i=4; double s=x,t=x; while(fabs(t)>=eps) { t=-t*(i-1)/(i+4)*x; i+=4; s+=t; } return s; }
Объяснение кода листинга программы
В данном коде решается задача численного интегрирования с использованием метода прямоугольников. Список действий:
- В функции main() создаются переменные x=0.5 и eps=0.001, которые передаются в функцию sum().
- Результат вычисления функции sum() выводится на экран.
- В функции sum() переменной i присваивается значение 4, а переменным s и t присваивается начальное значение x.
- В цикле while выполняется следующие действия: a. Переменная t вычисляется по формуле t = -t(i-1)/(i+4)x. b. Значение переменной i увеличивается на 4. c. Значение переменной s увеличивается на значение переменной t.
- Цикл выполняется до тех пор, пока значение переменной t не станет меньше или равным eps.
- Возвращается значение переменной s. Количество действий в цикле while зависит от значения переменной i, которое меняется от 4 до 16.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д