База ответов ИНТУИТ

Программирование

<<- Назад к вопросам

Функция arctg(x) (ее также обозначают arctan или atan)представляется рядом Тейлора:
    arctg(x) = x - x3/3 + x5/5 - x7/7 + ...
Этот ряд сходится лишь для значений x, по модулю не превосходящихединицы, а эффективно вычислять его можно лишь для x, по модулюсущественно меньших единицы - например, |x|<0.5.(Для значений x, по модулю близких к единице и не превосходящихединицу, ряд сходится, но очень медленно, а точность вычисления его суммыневысока.)Какие способы вычисления функции arctan(x) для "плохих"значений x возможны? Укажите все разумные способы изчисла перечисленных ниже.(Предполагается, что мы умеем быстро и точно вычислять квадратный кореньsqrt(z), а также знаем константу pi.)

(Ответ считается верным, если отмечены все правильные варианты ответов.)

Варианты ответа
Функция arctg(x) нечетная, поэтому достаточно уметь ее вычислять только для неотрицательных x. Для 0 x 1 вычисляется сумма указанного ряда. Для x>1 применим формулу
    arctg(x) = pi/2 - arctg(1/x),
сведя задачу к суммированию ряда для функции arctg(y), где y=1/x и значение y меньше единицы.
Применив формулу
    arctg(x) = arcsin(x / sqrt(1 + x*x)),
мы сведем задачу к вычислению функции arcsin(y), где y=x/sqrt(1+x*x). Значение arcsin(y) можно вычислить как сумму ряда, когда |y| существенно меньше единицы (например, |y|<0.75):
    arcsin(x) = x +(1/2)x3/3 + (1/2)(3/4)x5/5 + (1/2)(3/4)(5/6)x7/7 + ...
Для значений y, по модулю близких к единице, этот ряд сходится очень медленно, поэтому для них можно дополнительно воспользоваться формулой
    arcsin(y) = pi/2 - arcsin(sqrt(1 - y*y)),
которая сводит задачу к вычислению ряда функции arcsin(z) для значения z=sqrt(1-y*y).
(Верный ответ)
Применив формулу
    arctg(x) = 2*arctg(y), где y = x/(1 + sqrt(1 + x*x))
один или несколько раз, мы сведем вычисление arctg(x) к вычислению arctg(y) для меньшего по модулю значения y.
(Верный ответ)
Похожие вопросы
Функция arcsin(x) представляется рядом Тейлора:
    arcsin(x) = x +(1/2)x3/3 + (1/2)(3/4)x5/5 + (1/2)(3/4)(5/6)x7/7 + ...
Этот ряд сходится лишь для значений x, по модулю меньшихединицы, причем вблизи единицы сходится очень медленно и точность его вычисления низка. Поэтому эффективно вычислять сумму ряда можно лишь для x, по модулюсущественно меньших единицы - например, |x|<0.75. Каким свойством функции arcsin можно воспользоваться,чтобы свести ее вычисление к суммированию ряда для значеийx в интервале |x|<0.75? Укажите всевозможные правильные решения из числа перечисленных ниже.(Предполагается, что мы умеем быстро и точно вычислять квадратный кореньsqrt(z), а также знаем константу pi.)
Функция arctg(x) (ее также обозначают arctg или atan)представляется рядом Тейлора:
    arctg(x) = x - x3/3 + x5/5 - x7/7 + ...
Этот ряд сходится лишь для значений x, по модулю не превосходящихединицы, а эффективно вычислять его можно лишь для x, по модулюсущественно меньших единицы - например, |x|<0.5.Чтобы свести задачу вычисления функции arctg(x) ксуммированию ряда для малых значений x,можно воспользоваться формулой
    arctg(x) = 2*arctg(y), где y = x/(1 + sqrt(1 + x*x)),
заменив вычисление ряда для x вычислением для y.Например, arctg(1)=2*arctg(1/(1+sqrt(2))). При этом нам придетсявоспользоваться функцией sqrt, вычисляющей квадратный корень. Какоемаксимальное число раз ее придется вызвать, чтобы свести вычисление arctg(x) для произвольного x к суммированию ряда для x в интервале |x|<0.5?
Формула Бинома Ньютона дает следующее разложение в ряддля функции "кубический корень из z" (обозначим ее croot(z)):
(1+x)1/3 = croot(1+x) =    1 + (1/3)x + (1/3)(-2/3)/2! x2 + (1/3)(-2/3)(-5/3)/3! x3 + (1/3)(-2/3)(-5/3)(-8/3)/4! x4 + ...
(мы сделали замену z=1+x). Этот ряд сходится лишь для значений x, по абсолютной величине не превосходящих 1, а эффективно вычислятьего сумму можно только для еще более узкого интервала значений x. Каким свойством функции croot(z)=z1/3удобнее всего воспользоваться, чтобы свести ее вычисление для положительных значений z к суммированию ряда?
Формула Бинома Ньютона дает следующее разложение в ряддля функции "квадратный корень из z":
(1+x)0.5 = sqrt(1+x) =    1 + 0.5 x + 0.5(-0.5)/2! x2 + 0.5(-0.5)(-1.5)/3! x3 + 0.5(-0.5)(-1.5)(-2.5)/4! x4 + ...
(мы обозначили z=1+x). Этот ряд сходится лишь для значений x, по абсолютной величине не превосходящих 1, а эффективно вычислятьего сумму можно только для еще более узкого интервала значений x. Каким свойством функции sqrt(z)удобнее всего воспользоваться, чтобы свести ее вычисление к суммированию ряда?
Функция ln(z) (натуральный логарифм z) представляетсяв виде степенного ряда следующим образом:
    ln(1+x) = x - x2/2 + x3/3 - x4/4 + ...
(мы обозначили z=1+x). Этот ряд сходится лишь для значений x, по абсолютной величине не превосходящих 1, а эффективно вычислятьего сумму можно только для еще более узкого интервала значений x. Какими свойствами функции ln(z)удобнее всего воспользоваться, чтобы свести ее вычисление к суммированию ряда?
Функция arctg(x) раскладываетсяв ряд Тейлора следующим образом:
    arctg(x) = x - x3/3 + x5/5 - x7/7 + ...
Рассмотрим реализованную на C/C++ функцию myAtan(x),вычисляющую значение arctg(x) с точностью до одной миллионной:
static const double EPS = 1e-6;double myAtan(double x) {    double s = 0.;    double p = x;    double n = 1.;    double a = x;    while (fabs(a) > EPS) {        s += a;        p = (-p*x*x);        n += 2.;        a = p/n;    }    return s;}
Для каких значений x ее можно применять?Укажите все правильные ответы из числа перечисленных ниже.
Пусть w - последовательностьцелых чисел, F(W) - максимальная изсумм нескольких подряд идущих элементовпоследовательности w.Например, для последовательностиw={1, -2, 3, 4, -1, 5, -2, -3, 4}максимальную сумму образуют элементы с третьего по шестой:F(w)=3+4-1+5=11.Какие из перечисленных ниже функцийявляются индуктивным расширением функции F?Укажите все правильные варианты.
Назовем функцию y = f(p) на последовательности p элементов некоторого типа индуктивной, если при добавлении в конецпоследовательности pеще одного элемента x новое значение функцииy1 = f(p&x) можно вычислить, зная толькостарое значение y и добавленный элемент x.Среди перечисленных ниже функций на последовательностях вещественныхчисел укажите индуктивные.
Назовем функцию y = f(p) на последовательности p элементов некоторого типа индуктивной, если при добавлении в конецпоследовательности pеще одного элемента x новое значение функцииy1 = f(p&x) можно вычислить, зная толькостарое значение y и добавленный элемент x.Среди перечисленных ниже функций на последовательностях вещественныхчисел укажите индуктивные.
Назовем функцию y = f(p) на последовательности p элементов некоторого типа индуктивной, если при добавлении в конецпоследовательности pеще одного элемента x новое значение функцииy1 = f(p&x) можно вычислить, зная толькостарое значение y и добавленный элемент x.Среди перечисленных ниже функций на последовательностях вещественныхчисел укажите индуктивные.