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

Функция 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) = 2*arctg(y), где y = x/(1 + sqrt(1 + x*x)) один или несколько раз, мы сведем вычисление arctg(x) к вычислению arctg(y) для меньшего по модулю значения 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) нечетная, поэтому достаточно уметь ее вычислять только для неотрицательных x. Для 0 x 1 вычисляется сумма указанного ряда. Для x>1 применим формулу arctg(x) = pi/2 - arctg(1/x), сведя задачу к суммированию ряда для функции arctg(y), где y=1/x и значение y меньше единицы.
Сложность вопроса
93
Сложность курса: Программирование
84
Оценить вопрос
Очень сложно
Сложно
Средне
Легко
Очень легко
Комментарии:
Аноним
Зачёт в студне отлично. Лечу кутить отмечать 5 в зачётке по тесту
04 янв 2018
Аноним
Если бы не эти ответы - я бы не смог решить c этими тестами intuit.
29 сен 2016
Оставить комментарий
Другие ответы на вопросы из темы программирование интуит.