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