Главная /
Программирование /
Функция arcsin(x) представляется рядом Тейлора: arcsin(x) = x +(1/2)x3/3 + (1/2)(3/4)x5/5 + (1/2)(3/4)(5/6)x7/7 + ... Этот ряд сходится лишь для значений x, по модулю меньших единицы, причем вблизи единицы сходится очень медленно и точность его вычисления
Функция 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
.)
вопрос
Правильный ответ:
Воспользоваться нечетностью функции
arcsin(x) = pi/2 - arcsin(sqrt(1 - x*x))
которая сводит задачу к вычислению ряда
для значения
arcsin
,
сводящей ее вычисление к положительным значениям x
.
Для положительных значений x0.7
вычислить
сумму указанного ряда.
Для положительных значений x>0.7
воспользоваться
формулой
y=sqrt(1-x*x)
.
Свести вычисление функции
arcsin(x) = 2*arсtg( x / (1 + sqrt(1 - x*x)) ).
arcsin
к вычислению
функции arctg
, воспользовавшись формулой
При
arcsin(x) = arсtg(x / sqrt(1 - x*x))
и для
arctg(y) = y - y3/3 + y5/5 - y7/7 + ...
x = ±1
значение
arcsin(x) = ±pi/2
. При других значениях x
воспользоваться формулой
y=x/sqrt(1-x*x)
вычислить сумму ряда Тейлора функции arctg
:
Сложность вопроса
50
Сложность курса: Программирование
84
Оценить вопрос
Комментарии:
Аноним
Экзамен прошёл на зачёт. Спасибо за ответы
26 май 2019
Аноним
Какой студент ищет данные тесты inuit? Это же безумно легко
29 апр 2018
Аноним
Кто гуглит данные вопросы с интуитом? Это же крайне просто
03 июл 2016
Другие ответы на вопросы из темы программирование интуит.
- # Рассмотрим следующую программу на C/C++: #include <stdio.h> #include <math.h> int main() { double x = pow(2., 1024.); double y = x / 2.; double z = pow(2., 1023.); if (y == z) { printf("y == z\n"); } else { printf("y != z\n"); } return 0; } (Функция pow(a, b) возводит число a в степень b.) Что будет напечатано в результате ее выполнения?
- # Сколько раз в алгоритме Гаусса будет выполнена операция перестановки местами двух строк (с изменением знака одной из них) при приведении к ступенчатому виду следующей матрицы: 1 2 3 4 0 1 2 3 2 7 10 14
- # Постановка задачи: в файле записана последовательность чисел неизвестной длины (возможно пустая). Между числами стоит разделитель - пробел. Требуется за один просмотр файла и без запомнинания последовательности чисел в массиве определить требуюмую характеристику последовательности. Программа должна содержать функцию, которая получает в качестве параметра имя файла и возвращает требуемое значение в файл (output.txt). Функция main открывает необходимые файлы, проверяет успешность открытия, обращается к функции для вычисления результата и выводит результат в соответствующий файл. Задание: найти длину возрастающего участка последовательности с наибольшим количеством элементов.
- # Укажите, какие из приведенных ниже строк языка C/C++ корректно описывают объекты языка.
- # Пусть дан массив a длины n, элементы которого нестрого возрастают, т.е. соседние элементы могут быть равными. Рассмотрим фрагмент программы бинарного поиска элемента x в массиве a длины n, где после отбрасывания особых ситуаций рассматривается основной случай: . . . // Утверждение: a[0] <= x && x < a[n-1] int beg = 0; int end = n-1; while (end-beg > 1) { // Инвариант: a[beg] <= x && x < a[end] int c = (beg + end) / 2; if (a[c] <= x) { beg = c; } else { end = c; } } if (a[beg] == x) { *idx = beg; } else { *idx = end; } . . . Пусть значение x содержится в массиве в нескольких экземплярах. Индекс какого элемента массива a будет записан в переменную *idx?