Вычисление функции разложением в ряд

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

Задание: Для динамического одномерного массива X из N (0<N≤20) элементов составить алгоритм и программу (консольное приложение на Си) нахождения суммы ряда с заданной точностью E (0<E<0.1) для каждого из элементов X. Использовать рекуррентные соотношения при вычислении очередного члена ряда.
Вычисление суммы Sum(Xi) заканчивается, если модуль очередного слагаемого оказывается меньше заданного значения точности (E), причем для этих рядов (при fabs(x)<1) абсолютная величина суммы всех отброшенных членов ряда при этом оказывается меньше E.
Для оценки правильности результата предусмотреть вычисление по контрольной формуле F(Xi).
Слагаемое следует считать составным (a(b±c)) и выводить рекуррентные соотношения для каждой составляющей отдельно:
ai+1 = ai * Coef1(x); bi+1 = bi * Coef2(x); ci+1 = ci * Coef3(x);
альтернативный текст

   for (i = 0; i < n; i++)
   {

// поиск суммы ряда
    a=pow(x[i],2);
    b=1;
    c=1;
    m=a*(b+c);
    sum =m;
    k=1;
    while ((fabs(m)>=e) && (k!=100))
    {

    a=a*(-pow(x[i],2));
    b=b*1/(k+1);
    c=c*1/(2*k*(2*k+1));
    m*=a*(b+c);
        sum+=m;
        k++;
    };

    f= x[i]*sin(x[i])-exp(-pow(x[i],2))+1;

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.

Ответить

Вы можете использовать разметку markdown для оформления комментариев и постов. Используйте функцию предпросмотра для проверки корректности разметки.

Пожалуйста, оформляйте исходный код в соответствии с правилами разметки. Для того, чтобы вставить код в комментарий, скопируйте его в текстовое поле ниже, после чего выделите то, что скопировали и нажмите кнопку «код» в панели инструментов. Иначе ваш код может принять нечитаемый вид.

Либо производите оформление кода вручную, следующим образом:

``` #include <iostream> using namespace std; int main() { // ... } ```

Предпросмотр сообщения

Ваше сообщение пусто.