Разложение функции в степенной ряд

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Ответить
xEk
Сообщения: 1
Зарегистрирован: 11 ноя 2012, 22:31

Нужно разложить функцию е^x, где х=0.32 в степенной ряд с точностью 0.00001. Вот накидал вроде код, но работает не правильно... Подскажите что не так

Код: Выделить всё

#include <stdio.h>
#include <math.h>
int main (void)
{
    float x, k=10, E=0.00001, u, u1;
    int i;
    x=0.300+0.002*k;
    i=1;
    u=1;

    while (u<E)
    {
       u1=u;
       u=u1*pow(x,i)/i;
       i++;
    }
    printf ("%i", i);
    printf ("\nu = %f", u);


    return 0;
}
Аватара пользователя
Romeo
Сообщения: 3126
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

Дело в том, что формула для разложения у нас следующая:

Изображение

А ты делишь на n, а не на n-факториал. Твой ряд вообще расходящийся.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Ответить