Функция 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. (Верный ответ)