Тема: Ряд
Показать сообщение отдельно
Старый 24.09.2015, 14:42   #1 (permalink)
Ququmber
Новичок
 
Регистрация: 23.09.2015
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Question Ряд

Реализовать функцию через ряд,ограничивая число элементов ряда первым элементом меньше eps=0.01
Функция: lnx(x>1/2-обл сх-ти)
Ряд :(x-1)^n/n*x^n;n=1
Функцию реализовал.Вопрос в том ,что при x= 2.7, значение функции равно 1 ;а сумма ряда не дотягивает до 1 она получается 0.9 из за чего это происходит ?

Код:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <conio.h>
void main()
{
    
double    eps = 0.01;
    int i = 1;
    double F,x = 2.71;
    double j = 1;
    double h = 0;

    
    while (x > 2)
    {
        
        for (i = 1;fabs(j) > eps; i++)
        {

            F = log(x);
            j = pow((x-1), i) / (i*pow(x, i));
            
            //printf("f= 8.5%f j = 8.5%f h=8.5%f \n", F, j, h);
            h = j + h;
//printf("f= 8.5%f j = 8.5%f h=8.5%f \n", F, j, h);
            //printf("f= %f j = %f h= %f \n", F, j, h); //вывод каждого члена ряда
        
        }

        printf("Rezultat pri x= %8.5f h=%8.5f\n", x, h);
        j = 1;
        h = 0;
        x = x - 0.05;
        
    }
    
    
    _getch();
}
Ququmber вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070