Написать код к !
написать функцию вычисления суммы ряда:

· стандартный диапазон значений x =0..9, шаг 0.1. убедиться, что на этом диапазоне элемент суммы ряда стремится к 0, при необходимости скорректировать диапазон;

· вычислить значения суммы ряда и контрольной функции, к которой он сходится, с точностью до 4 знаков после запятой;

· исходя из полученного значения n и формулы ряда объяснить различную скорость сходимости для разных x;
ряд: (x-1)/x+(x-1)^2/2x^2+(x-1)^3/3x^3+…+(x-1)^n/nx^n
функция: ln(x)
мои наброски, которые не сработали:
double sum(double x, double eps, int& n) {

double s, sn; // сумма и текущее слагаемое ряда
int a;
int b;
n = 1;

for (s = 0., sn = (x-1)/x ; abs(sn) > eps; n++) {
b = x * (1+n);
a = pow(x - 1, n);
s += sn;
sn = sn*a/b ;

}

return s;

}

// вычисление степенного ряда для x в диапазоне от 0.1 до 1 с шагом 0.1

int main() {

double x, y;

int nn;

for (x = 0.1; x < = 1.; x += 0.05) {

y = sum(x, 0.0001, nn);

printf("n=%d x=%0.1lf\t sum=%0.4lf\t log=%0.4lf\n", nn, x, y, log(x));

}
}

wanecow01 wanecow01    3   24.12.2019 14:38    4

Другие вопросы по теме Информатика