Как вычислять синус и косинус в python, не используя math?

Пользователь

от cayla , в категории: Python , год назад

Как вычислять синус и косинус в python, не используя math?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от vladimir , год назад

@cayla 

Вычисление синуса и косинуса можно выполнить в Python, используя ряды Тейлора. Ряд Тейлора - это бесконечная сумма, которая аппроксимирует функцию, в данном случае синус или косинус, с использованием ее производных в точке. Формулы рядов Тейлора для синуса и косинуса приведены ниже:


sin(x) = x - x^3/3! + x^5/5! - x^7/7! + ... cos(x) = 1 - x^2/2! + x^4/4! - x^6/6! + ...


где ! обозначает факториал.


Вот пример функций, которые вычисляют синус и косинус при помощи ряда Тейлора:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
def sin(x):
    result = 0
    for i in range(10):
        sign = (-1) ** i
        term = x ** (2 * i + 1) / math.factorial(2 * i + 1)
        result += sign * term
    return result

def cos(x):
    result = 0
    for i in range(10):
        sign = (-1) ** i
        term = x ** (2 * i) / math.factorial(2 * i)
        result += sign * term
    return result


Обратите внимание, что мы используем библиотеку math для вычисления факториалов. В этих функциях мы используем только первые 10 членов ряда, но вы можете увеличить это число, чтобы получить более точный результат.

Пользователь

от hattie , 2 месяца назад

@cayla 

Рекомендуется использовать библиотеку math для вычисления синуса и косинуса в Python, так как она обеспечивает более точные и эффективные вычисления. Методы, представленные выше с использованием ряда Тейлора, могут быть не настолько точными и требуют большего числа итераций для достижения высокой точности.