Hola Carlos aunque no nos conocemos te puedo asegurar que me haz ayudado bastante con programar ciertos métodos numéricos, en verdad te debo una. Sinceramente, quisiera ver tus aportaciones para comprender mas las matematicas y de ahí las ciencias De nuevo, muchas gracias
Disculpe ejecuto el programa en python x,y pero a la hora de ejecutar, sin poner abs en el error, me sale el 2 y la gráfica. pero cuando se la aplico abs(fc) , solo me aparece la gráfica pero ningún valor me sale.
Hola, quisiera saber como hacer para que el programa detecte que la función ingresada al programa no es continua, y si ese es el caso que le diga que no hay solución
Oye man muy bueno el video, intente mejorar el programa dandole un evaluador de expresiones y todo iba bien hasta la parte de graficar, me da un error que no entiendo, el programa me funciona arroja los resultados bien y todo pero a la hora de pasarle lo que tiene que graficar como que no lo entiende por el tipo de dato. Me marca el error aqui plt.plot(x, f('x^3 -2 * x^2 - 1','x',x)) es la linea que deje comentada, si talves sabes a que se deba el error deverdad te lo agradezco (y) import matplotlib.pyplot as plt import numpy as np from py_expression_eval import * def f(exp, var, x0): p = Parser() result = p.parse(exp).evaluate({var:x0}) return result a = 0 b = 4 error = 10 i = 0 while(error>1e-8 and i!=100): c = (a + b) / 2 fa = f('x^3 -2 * x^2 - 1', 'x', a) fc = f('x^3 -2 * x^2 - 1', 'x', c) if(fc == 0): raiz = c break elif(fa * fc < 0): b = c else: a = c raiz = c i += 1 error = abs(fc) print("Iteracion",i,". Raiz aproximada:",raiz) print(raiz) print(i) print(f('x^3 -2 * x^2 - 1', 'x',raiz)) x = np.linspace(0, 4, 101) #plt.plot(x, f('x^3 -2 * x^2 - 1','x',x)) plt.plot(a, f('x^3 -2 * x^2 - 1', 'x', a), 'or') plt.grid() plt.show()
+Priscilla Alejandra Horna Peche Hola! Bueno, la idea del método consiste en acotar una raíz en un intervalo en donde se sepa que esta está. Si tu curva tienes dos raíces pues debes aplicar el proceso para cada raíz determinando para cada una el intervalo en donde se supone debe estar. Espero que te sirva de ayuda. Si tu duda aún persiste no dudes en volver a preguntar. Feliz día.
Gracias por tu respuesta. He creado varios programas pero ninguno funciona. Tengo uno que funciona pero solo toma una raiz, y no la otra del otro intervalo apesar de haber creado dos procesos diferentes para cada intervallo.
+Priscilla Alejandra Horna Peche Hola! El método es tan simple como efectivo y si te funciona con una raíz debería funcionarte con la otra. Tal vez no estás acotando la raíz en el intervalo apropiado. Puedes decirme cuál es la función y qué intervalos estás usando?
Man muchísimas gracias, explicas re bien y al fin ya entendí como tocaba hacer el algoritmo.
hola gracias a thi y este comando ya tengo ideas para hacer una tarea que hasta hoy no podia hacer
mil exitos y espero seguir viendo mas videos tuyos
gracias amigo me fue de gran ayuda
Hola Carlos aunque no nos conocemos te puedo asegurar que me haz ayudado bastante con programar ciertos métodos numéricos, en verdad te debo una. Sinceramente, quisiera ver tus aportaciones para comprender mas las matematicas y de ahí las ciencias De nuevo, muchas gracias
Disculpe ejecuto el programa en python x,y
pero a la hora de ejecutar, sin poner abs en el error, me sale el 2 y la gráfica.
pero cuando se la aplico abs(fc) , solo me aparece la gráfica pero ningún valor me sale.
Por qué se me hace un bucle infinito al tratarlo de implementarlo en python 2.7.13 y 3.6 ?
Hola, quisiera saber como hacer para que el programa detecte que la función ingresada al programa no es continua, y si ese es el caso que le diga que no hay solución
Oye man muy bueno el video, intente mejorar el programa dandole un evaluador de expresiones y todo iba bien hasta la parte de graficar, me da un error que no entiendo, el programa me funciona arroja los resultados bien y todo pero a la hora de pasarle lo que tiene que graficar como que no lo entiende por el tipo de dato. Me marca el error aqui plt.plot(x, f('x^3 -2 * x^2 - 1','x',x)) es la linea que deje comentada, si talves sabes a que se deba el error deverdad te lo agradezco (y)
import matplotlib.pyplot as plt
import numpy as np
from py_expression_eval import *
def f(exp, var, x0):
p = Parser()
result = p.parse(exp).evaluate({var:x0})
return result
a = 0
b = 4
error = 10
i = 0
while(error>1e-8 and i!=100):
c = (a + b) / 2
fa = f('x^3 -2 * x^2 - 1', 'x', a)
fc = f('x^3 -2 * x^2 - 1', 'x', c)
if(fc == 0):
raiz = c
break
elif(fa * fc < 0):
b = c
else:
a = c
raiz = c
i += 1
error = abs(fc)
print("Iteracion",i,". Raiz aproximada:",raiz)
print(raiz)
print(i)
print(f('x^3 -2 * x^2 - 1', 'x',raiz))
x = np.linspace(0, 4, 101)
#plt.plot(x, f('x^3 -2 * x^2 - 1','x',x))
plt.plot(a, f('x^3 -2 * x^2 - 1', 'x', a), 'or')
plt.grid()
plt.show()
Hola Gracias por tu video, tengo una pregunta que pasa si mi function tiene dos raices ?
Soy nueva en Python,
Gracias por su respuesta.
+Priscilla Alejandra Horna Peche Hola! Bueno, la idea del método consiste en acotar una raíz en un intervalo en donde se sepa que esta está. Si tu curva tienes dos raíces pues debes aplicar el proceso para cada raíz determinando para cada una el intervalo en donde se supone debe estar. Espero que te sirva de ayuda. Si tu duda aún persiste no dudes en volver a preguntar. Feliz día.
Gracias por tu respuesta. He creado varios programas pero ninguno funciona. Tengo uno que funciona pero solo toma una raiz, y no la otra del otro intervalo apesar de haber creado dos procesos diferentes para cada intervallo.
+Priscilla Alejandra Horna Peche Hola! El método es tan simple como efectivo y si te funciona con una raíz debería funcionarte con la otra. Tal vez no estás acotando la raíz en el intervalo apropiado. Puedes decirme cuál es la función y qué intervalos estás usando?
+Carlos Andrés Pérez Montaña, Me guie un poco de tu codigo pero a las finales solo tengo una raiz. Te lo podria mandar si me lo permites
+Priscilla Alejandra Horna Peche Hola. No hay problema. Envíamelo a carlossu27@gmail.com