Рекуррентное соотношение - 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;
}

Объяснение кода листинга программы

В данном коде решается задача численного интегрирования с использованием метода прямоугольников. Список действий:

  1. В функции main() создаются переменные x=0.5 и eps=0.001, которые передаются в функцию sum().
  2. Результат вычисления функции sum() выводится на экран.
  3. В функции sum() переменной i присваивается значение 4, а переменным s и t присваивается начальное значение x.
  4. В цикле while выполняется следующие действия: a. Переменная t вычисляется по формуле t = -t(i-1)/(i+4)x. b. Значение переменной i увеличивается на 4. c. Значение переменной s увеличивается на значение переменной t.
  5. Цикл выполняется до тех пор, пока значение переменной t не станет меньше или равным eps.
  6. Возвращается значение переменной s. Количество действий в цикле while зависит от значения переменной i, которое меняется от 4 до 16.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.692 из 5
Похожие ответы