Вычислить и вывести на экран в виде таблицы значения функции, с заданной с помощью ряда Тейлора - C (СИ) (73413)

Узнай цену своей работы

Формулировка задачи:

Посмотрите, пожалуйста мой код по рядам Тейлора, код явно не так считает ряд, что не так:?
double fun (double x, int k)
{
    
    int i, a=1;
        double total;
    printf("\n X => ");
    scanf("%lf", &x);
    for (i=0; i<k; i++)
    {
        if(i==0)
        a=1;
        else
            a*=(-1);
    }
    for(i=0; i<k; i++)
       x*=(k+1);
    for (i=0; i<k; i++)
       total+=a*x/(i+1);
    return total;
}

Решение задачи: «Вычислить и вывести на экран в виде таблицы значения функции, с заданной с помощью ряда Тейлора»

textual
Листинг программы
double fun (double x, int k)
{
    
    int i, a=1;
    double xn=1, total=0;
    
    for (i=1; i<=k; i++)
    {
        xn*=x;
        total+=a*xn/i;
        a=-a;
    }
    return total;
}
 
int main()
{
    double x=0.5;//-1<x<=1
    printf("fun(%lf,k)=%lf  ln(1+%lf)=%lf\n",x,fun(x,100),x,log(1+x));
    
    system("pause");
    return 0;
}

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

В данном коде реализован вычислительный процесс, который заключается в вычислении значения функции с помощью ряда Тейлора.

  1. В функции fun определены следующие переменные:
    • i - счётчик цикла;
    • a - коэффициент перед членом ряда Тейлора;
    • xn - член ряда Тейлора;
    • total - итоговое значение ряда Тейлора.
  2. В функции main определена переменная x, которая равна 0.5.
  3. С помощью функции printf выводится следующая таблица:
    • значение функции fun(x,100);
    • значение функции log(1+x).
  4. В конце программы с помощью функции system приостанавливается выполнение программы до нажатия клавиши.
  5. В конце программы возвращается 0, что означает успешное завершение работы программы.

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


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

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

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