математика — Python | Почему тангенс π/2 = 1.633123935319537e+16?
Почему тангенс π/2 = 1.633123935319537e+16?
Код:
import math print(math.tan(math.pi / 2))
Результат: 1.633123935319537e+16
- python
- математика
7
потому что pi
— это 180 градусов, pi / 2
— это 90 градусов, а тангенс стремится к бесконечности при стремлении к 90 градусам
кроме того тангенс — это синус делить на косинус, а точность float
значений все таки не абсолютная, поэтому деление на 0
может и не происходить, поэтому могут получаться какие-то конечные значения
ну и в третьих синус, косинус, тангенс и т.д. можно вычислять (а возможно так и вычисляются) как ряд тейлора
а значит учитывая точность float будет лишь приближенное значение и в вашем случае это 1. 633123935319537e+16
кстати из-за алгоритма вычисления тригонометрических функций и cos(math.pi / 2)
равен не 0
, а 6.123233995736766e-17
P.S.
попробовал подсчитать cos(pi / 2)
через ряд Тейлора:
import math value = math.pi / 2 res = 0 for i in range(50): res += (-1)**i * (value**(2*i + 1) / math.factorial(2 * i)) print(res)
Вместо 0
получил 1.2246167519384833e-16
как и ожидалось
Вот график значений lg(|cos(x)|)
(для удобства взял логарифмическую шкалу, чтобы лучше показать) от кол-ва шагов вычисления — видно, что после 10 шага точность не меняется (достигли предела точности чисел с плавающей запятой):
1
Можно использовать более точные библиотеки, например:
from sympy import pi, tan print(tan(pi / 2))
Вывод:
zoo (complex infinity)
Зарегистрируйтесь или войдите
Регистрация через Google
Регистрация через Facebook
Регистрация через почту
Отправить без регистрации
Почта
Необходима, но никому не показывается
Отправить без регистрации
Почта
Необходима, но никому не показывается
Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки
тригонометрия — Нахождение значений $\cos \frac{n\pi}{2}$ и $\sin \frac{n\pi}{2}$.
{n}$ и $\sin n\pi=0$. Теперь я хочу знать, каковы общие выражения $\cos \frac{n\pi}{2}$ и $\sin \frac{n\pi}{2}$. 9п{2} \справа) $$$\endgroup$
2
$\begingroup$
Есть два случая:
- $n$ четно, запишите его как $2k$ и тогда у вас есть $\cos(k\pi)$ и $\sin(k\pi)$, которые вы уже знаете.
- $n$ нечетно, запишите его как $2k+1$ и тогда у вас есть $\cos(k\pi+\frac\pi2)$ и $\sin(k\pi+\frac\pi2)$. Вспомним, что $\sin(x)=\cos(x+\frac\pi2)$, и выведем из предыдущего случая, каковы значения.
$\endgroup$
4
$\begingroup$
$\displaystyle \cos\frac{n\pi}{2}=\{1,0,-1,0\}=2\left\lfloor\frac{n}{4}\right\rfloor+2 \left\lfloor\frac{n+1}{4}\right\rfloor+1-n$
$\displaystyle \sin\frac{n\pi}{2}=\{0,1,0,- 1\}=n-2\left\lfloor\frac{n+1}{4}\right\rfloor-2\left\lfloor\frac{n+2}{4}\right\rfloor$
$\endgroup$
реальный анализ — Найти предел последовательности $n^2 \cos(1/n) — n^2$
Задавать вопрос
спросил
Изменено 1 год, 11 месяцев назад
Просмотрено 219 раз
$\begingroup$
Во-первых, это вопрос для домашнего задания, поэтому я бы предпочел не объяснять каждую деталь.