[Python] Como implementar a função seno usando série de Taylor em Python?

Discussão em 'Python' iniciado por Stack, Outubro 3, 2024.

  1. Stack

    Stack Membro Participativo

    Estou com uma dificuldade no meu código. Eu preciso criar um código que calcula o seno de um ângulo utilizando a série de Taylor, no intervalo de [-pi, +pi]. Assim, a função seno se repete. Ou seja, o valor do seno do angulo de pi/6 é igual ao valor do angulo de 5pi/6. Então se você passar um angulo fora do intervalo [-pi,pi], o programa deve encontrar o equivalente dele intervalo. O ângulo passado como parâmetro para a função deve estar em radianos. Sendo a entrada, o ângulo em radianos (x) e o incremento (n).

    [​IMG]

    O meu código está assim,

    import math

    def seno(x, grau):

    assert type(grau) == int, "Seno: O grau do polinômio não é um inteiro"
    assert grau >= 0, "Seno: O grau do polinômio não é positivo"
    assert (grau % 2) == 1, "Seno: O grau do polinômio não é impar"


    if (-math.pi >= x >= math.pi):
    senx = 0
    for n in range (0, grau, 1):
    senx = senx + (-1)**n*((x**(2*n+1))/(math.factorial(2*n+1)))

    else:
    senx = 0
    y = (math.pi + x) % (2*math.pi)
    z = y - math.pi

    for n in range (0, grau, 1):
    senx = senx + (-1)**n*((z**(2*n+1))/(math.factorial(2*n+1)))

    return (senx)



    Eu consegui encontrar o cálculo que "converte" ângulos maiores que o intervalo [-pi,pi] para dentro do intervalo. Mas o meu problema é, para ângulos que já estão no intervalo eu não preciso fazer esse cálculo. Então estou tentando criar uma condição, utilizando o if para ângulos (x) no intervalo.

    Continue reading...

Compartilhe esta Página