Найти - Пользователи
Полная версия: Ошибка: OverflowError: long int too large to convert to float
Начало » Python для новичков » Ошибка: OverflowError: long int too large to convert to float
1 2
py.user.next
vihard
Вычислить с точностью 0.001:
Картинку перезалей.
vihard
py.user.next
py.user.next
Не видно картинки. Присоедини к сообщению.
vihard
py.user.next
т

Да, действительно, это ряд Тэйлора
py.user.next
>>> import math
>>> 
>>> def cos(x, eps):
...     x %= 2 * math.pi
...     s = 0
...     sl = 1
...     psl = 0
...     z = 0
...     while abs(sl - psl) >= eps:
...         s += sl
...         psl = sl
...         sl *= -x * x / ((z + 1) * (z + 2))
...         z += 2
...     return s
... 
>>> cos(12345, 0.0001)
0.11143671204346785
>>> math.cos(12345)
0.11143578678412723
>>>

Через рекуррентные соотношения делаются такие задачи.
vihard
py.user.next
Через рекуррентные соотношения делаются такие задачи.
Спасибо, py.user.next! Я новичек в python, к тому же не особо представляю себе, что такое ряд Тэйлора)
py.user.next
vihard
к тому же не особо представляю себе, что такое ряд Тэйлора)
Это разложение функции в ряд. Тут неважно, что это за ряд, главное, что каждый следующий член можно получить из предыдущего.
Так находишь коэффициент рекуррентного соотношения (делишь n-ый член на n-1-ый) и просто домножаешь на него каждый полученный член, чтобы получить следующий.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB