def brent(f, a, b, tol, maxItera): c = a n = 0 arr = [] while (abs(c - b) > tol * (abs(b) + 1) or ((n < maxItera) or (f(b) > tol))): n = n + 1 x = 0 if np.complex128((a) * f(b)) < 0: a, b, x = secante(f, a, b) else: if (iteraSecante(a, b, c, f) is True): a, b, x = secante(f, a, b) else: b = b - 0.5 * (c - b) c, b = metodobiseccion(f, c, b) if np.complex128(f(a) * f(b)) < np.complex128(0): c = a arr.append(b) if (np.complex128(f(b)) < tol): return (n, b, arr) if (type(b) == 'complex'): if (f(pausa.pausa(b[1])) == 0.0): return (n, b, arr) else: if (f(pausa.pausa(b)) == 0.0): return (n, b, arr) return (n, b, arr)
def events(tecla, presionar): playing = True running = True for event in range(5): if tecla == "q": if playing: playing = False running = False return "salir del juego" if presionar == "si": if tecla == "barra_espaciadora": return "saltar" if tecla == "p": return "juego pausado" e = pausa.pausa("c", presionar) if e == "salir al menu": playing = False running = False return "salir al menu"
itera = brent(f, -2, 2, i, 100) x = np.arange(-2, 2, 4 / len(numeros)) st = steffensen(f, -2, i) bis = biseccion(f, -2, 2, i) plt.plot(x, numeros) plt.title("Método de Brent con " + str(i)) plt.xlabel("x") plt.ylabel("F(x)") plt.show() print("Metodo de Brent") print("Iteraciones: ", itera[0]) print("Resulado: ", itera[1]) print( "Resultado expresado en fracción (en caso de ser un decimal periodico): ", pausa.pausa(itera[1])) print("Evaluado en f(x): ", f(itera[1])) print() print("Con el metodo de Steffensen: ") print("Resultado: ", st[0]) print("# de iteraciones: ", st[1]) print("Error: ", (abs(st[0] - itera[1]) / (itera[1])) * 100) print() print("Comparado con el metodo de bisección:") print("Resultado: ", bis[0]) print("# de iteraciones: ", bis[1]) print("Error: ", (abs(bis[0] - itera[1]) / (itera[1])) * 100) barrasBr.append(itera[0]) barrasSt.append(st[1]) barrasBi.append(bis[1])
def test_salir_al_menu(self): tecla = "x" presionar = "si" output = pausa.pausa(tecla, presionar) self.assertEqual(output, "salir al menu", "Error al salir al menu")
def test_salir_juego(self): tecla = "q" presionar = "si" output = pausa.pausa(tecla, presionar) self.assertEqual(output, "salir juego", "Error al salir del juego")
def test_continuar_juego(self): tecla = "c" presionar = "si" output = pausa.pausa(tecla, presionar) self.assertEqual(output, "continuar", "Error al continuar juego")