import math
import matplotlib.pyplot as plt
# Nalleli Iridian Avila Garcia 1941603
# Fisica computacional (2:00-3:00 pm)
def taylor_series():
    # Aproximación de e**kx mediante series de Taylor
    x = float(input("Introduce el valor de x para calcular e**kx: "))
    k = float(input("Introduce el valor de k para calcular e**kx: "))
    n = int(input("Introduce el número de iteraciones para la aproximación de e**kx: "))
    ex = 0
    for i in range(n):
        ex += ((k * x) ** i) / math.factorial(i)
    ex_real = math.exp(k * x)
    error_ex = abs(ex_real - ex)

    # Aproximación de sen(x) mediante series de Taylor
    x = float(input("Introduce el valor de x para calcular sen(x): "))
    n = int(input("Introduce el número de iteraciones para la aproximación de sen(x): "))
    senx = 0
    for i in range(n):
        senx += ((-1) ** i) * (x ** ((2 * i) + 1)) / math.factorial((2 * i) + 1)
    senx_real = math.sin(x)
    error_senx = abs(senx_real - senx)

    # Aproximación de cos(x) mediante series de Taylor
    x = float(input("Introduce el valor de x para calcular cos(x): "))
    n = int(input("Introduce el número de iteraciones para la aproximación de cos(x): "))
    cosx = 0
    for i in range(n):
        cosx += ((-1) ** i) * (x ** (2 * i)) / math.factorial(2 * i)
    cosx_real = math.cos(x)
    error_cosx = abs(cosx_real - cosx)

    # Aproximación de ln(x+1) mediante series de Taylor
    x = float(input("Introduce el valor de x para calcular ln(x+1): "))
    n = int(input("Introduce el número de iteraciones para la aproximación de ln(x+1): "))
    lnx = 0
    for i in range(1, n + 1):
        lnx += ((-1) ** (i + 1)) * ((x ** i)) / (i)
    lnx_real = math.log(x + 1)
    error_lnx = abs(lnx_real - lnx)

    # Imprimir resultados
    print(f"\ne**kx (aproximación por series): {ex}")
    print(f"e**kx (valor real): {ex_real}")
    print(f"Error real: {error_ex}")

    print(f"\nsen(x) (aproximación por series): {senx}")
    print(f"sen(x) (valor real): {senx_real}")
    print(f"Error real: {error_senx}")

    print(f"\ncos(x) (aproximación por series): {cosx}")
    print(f"cos(x) (valor real): {cosx_real}")
    print(f"Error real: {error_cosx}")

    print(f"\nln(x+1) (aproximación por series): {lnx}")
    print(f"ln(x+1) (valor real): {lnx_real}")
    print(f"Error real: {error_lnx}")

# Graficar resultados
def plot_results():
    
#     fig, axs = plt.subplots(2, 2, figsize=(10,10))
    
#     axs[0,0].plot(range(len(ex_approx)), ex_approx, label='Aproximación')
#     axs[0,0].axhline(y=ex_real, color='r', linestyle='--', label='Valor Real')
#     axs[0,0].set_title('Aproximación e^k*x')
#     axs[0,0].legend()
    
#     axs[0,1].plot(range(len(sin_approx)), sin_approx, label='Aproximación')
#     axs[0,1].axhline(y=sin_real, color='r', linestyle='--', label='Valor Real')
#     axs[0,1].set_title('Aproximación Seno')
#     axs[0,1].legend()
    
#     axs[1,0].plot(range(len(cos_approx)), cos_approx, label='Aproximación')
#     axs[1,0].axhline(y=cos_real, color='r', linestyle='--', label='Valor Real')
#     axs[1,0].set_title('Aproximación Coseno')
#     axs[1,0].legend()
    
#     axs[1,1].plot(range(len(ln_approx)), ln_approx, label='Aproximación')
#     axs[1,1].axhline(y=ln_real, color='r', linestyle='--', label='Valor Real')
#     axs[1,1].set_title('Aproximación Logaritmo Natural')
#     axs[1,1].legend()
    
#     plt.show()

taylor_series()

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: