Hola luiyiti, depronto tienes ese codigo que comentaste aca? enserio te lo agradeceria mucho si me lo compartieras , me lo pidieron para una materia de primer semestre y no logro programarlo con mi motor actual, asi que planeo intentarlo en python, muchas gracias de antemano
Hola fredy, deja lo busco en mi pc y con gusto te mando el archivo y las librerías que utilice, si podrías proporcionarle tu correo para enviartelo, de un estudiante a otro nos apoyamos
oye que gusto me da saber que voy a ser el primero en comentar, veras soy estudiante de ing de sistemas , actualmente viendo una materia que se llama analisis numerico , cuyo profesor xxxx (Chaus ojala veas esto , te hare famoso ¬¬/ , ºº/), nos dejo la tarea de programarlo en python , y ahora me encuentro este video ,..... aleluya ....... muchas gracias .... si tienen el recta secante o el de newton , o si lo pueden hacer gracias ..... no saben de verda cuan agradecido estoy , ojala lo hubiera visto antes.
signo = "" limite = "" #Función para polinomios def poli(x): y = pow(x, 2) - (3 * x) - 4 return (y) #Programa principal print("Este programa encuentra una raíz, por el método de bisección") xi = float(input('Introduce el valor de xi')) #limite inferior xs = float(input('Introduce el valor de xs')) #limite superior error = float((input('Introduce el error'))) xa = (xi + xs) / 2.0 i = 0 print('{:^10}{:^10}{:^10}{:^10}{:^10}{:^10}{:^10}'.format( 'i', 'xi', 'xs', 'xa', 'signo', 'cambio', 'error')) while abs(poli(xa)) > error: i = i + 1 print('{:^10}{:^10.4f}{:^10.4f}{:^10.4f}{:^10}{:^10}{:^10.4f}'.format( i, float(xi), float(xs), float(xa), signo, limite, float(poli(xa)))) xa = (xi + xs) / 2.0 if poli(xi) * poli(xa) < 0: xs = xa signo = "negativo" limite = "superior" else: xi = xa signo = "positivo" limite = "inferior" print("La raíz es: ", xa)
Hola, muchas gracias por la explicación. Tengo un pequeño problema con mi código que está copiado tal cual lo pones allí, ya que cuando me saca la tabla en la columna de "Signo" y Límite" no muestra si cambio de signo (negativo, positivo) o límite (superior, inferior), sólo muestra en las columnas signo, signo, signo, límite, límite, límite. Aclaro que estoy trabajando en Spyder por si eso tiene algo que ver. Muchas gracias por la ayuda.
Una pregunta si tal vez no es muy tarde, me sale NameError: name 'signo' is not defined, según busque es porque no está definida la variable, pero nose como hacer, revisé y esta bien, creo es poque el signo se define despues del if. Pasa justo cuando cambio la linea de impresión como tu dices para que salgan los limites correctos. Que puedo hacer?
Hola, el error puede ser porque la variable signo no tiene algún valor o porque hay un error "de dedo" y a lo mejor la escribiste antes como sino o algo similar, aquí te dejamos este vídeo que te pudiera ser de utilidad: th-cam.com/video/X46F2-OxxqY/w-d-xo.html
@@cctmexico Muccha gracias por la ayuda, me sirvió para darme cuenta de algunas cosas. Sin embargo hallé en un comentario alguien puso esto antes del while: signo = "" limite = "" para definir las variables y hay si me funcionó, nose si me hice entender pues todavia soy novato y me faltan mucho todavia😅😅😅. Muchas gracias eres de gran ayuda.
buenos dias, me sale un error de sintaxis en el print('{:^10}{:^10}{:^10}{:^10}{:^10}{:^10}{:^10}'.format{'i','xi','xs','xa','signo','cambio','error'}) como lo puedo solucionar?
Excelente video , Solo tengo un pequeño problema , me marca un error de sintaxsis en el while , y no se por que . while abs(poli(xa)) > error: i=i+1 Me ayudarias mucho diciendome por que :v . Gracias
Hola me gusta mucho tu video pero tengo un problema en la fila (print "La raiz es: ",xa) porque la impresión ni me sale en el modulo. Yo uso el lenguaje y el entorno python 2.7.14
Hola! Ahorita estamos utilizando Spyder y solamente tenemos que seleccionar nuevo archivo, ese archivo debe tener la extensión py que es para los pogramas en Python, saludos!
hola... ayuda por favor cuando hago el cambio de print y hago correr el programa me aparece el sgt error.....(print('{:^10}{:^10.4f}{:^10.4f}{:^10.4f}{:^10}{:^10}{:^10.4f}' .format(i,float(xi),float(xs),float(xa),signo,limite,float(poli(xa)))) NameError: name 'signo' is not defined)......AYUDA POR FAVOR
@@cctmexico #Función para polinomios def poli(x): y=pow(x,2)-(3*x)-4 return (y) #Programa principal print ("Este programa encuentra una raíz, por el método de bisección") xi=float(input('Introduce el valor de xi:')) xs=float(input('Introduce el valor de xs:')) error=float((input('Introduce el error:'))) xa = (xi+xs)/2.0 i=0 print('{:^10}{:^10}{:^10}{:^10}{:^10}{:^10}{:^10}' .format('i', 'xi', 'xs', 'xa', 'signo', 'cambio', 'error')) while abs(poli(xa)) > error: i=i+1 print('{:^10}{:^10.4f}{:^10.4f}{:^10.4f}{:^10}{:^10}{:^10.4f}' .format(i,float(xi),float(xs),float(xa),signo,limite,float(poli(xa)))) xa = (xi+xs)/2.0 if poli(xi)*poli(xa) < 0: xs=xa signo="negativo" limite="superior" else: xi=xa signo="positivo" limite="inferior"
hola buenas noches , excelente tutorial , solamente una pregunta, este programa esta escrito en python 2 como podríamos implementar esto en python 3 sabiendo que por ejemplo la función raw_ ya no existe en python 3
Hola, muchas gracias por dejar tu amable comentario! en Python 3, se sustituye el raw_ por input p or ejemplo n=int(input("Introduce el número entero") ) para flotantes cambia int por flot, aquí te dejamos una lista de vídeos que tenemos con Python 3 th-cam.com/video/YtBRCU-db_I/w-d-xo.html
Dejo mi codigo para Python 3, adaptandolo de un codigo de fortran de la facultad por si a alguien le puede servir. PD: Gracias por el video!! #encoding: utf-8 import math #f: función, a: cota superior, b: cota inferior, n: numero de iteraciones, tol: tolerancia del error def biseccion(f, a, b, n, tol): cota = None if f(a)*f(b)>0.: return (math.nan, -1, 0, cota) #no hay raíz, clave de que no se pudo proceder. 0 iteraciones. for i in range(1, n+1): error = (b-a)*0.5 raiz = a + error if (error < tol): return (raiz, 0, i, cota) #retorna la raiz if f(a)*f(raiz)>0.: cota = "Superior" a=raiz else: cota = "Inferior" b=raiz return (raiz, 1, i, cota) #a excedido la cantidad de iteraciones. El valor de la raiz corresponde al ultimo a o b tomado. #Unos buenos valores para n es 1000 y para tol es 1e-16
Buenas noches, necesito contacto directo en un medio donde pueda enviar una captura de pantalla, como correo electronico por ejemplo, se lo agradeceria muchisimo.
Hola Buenas noches! Puedes hacer tu pregunta (e incluir el código) en stackoverflow.com responden muy rápido y tienes la opción de preguntar en Inglés o Español, seguro te ayudarán con ese problema. También aquí te dejamos un vídeo, que te puede servir como guía, para agregar tu pregunta: th-cam.com/video/X46F2-OxxqY/w-d-xo.html
Muy bueno, le hice modificaciones para que el usuario introdujera el valor de su ecuación en lo coeficientes, pero me sirvió mucho, muchas gracias.
¡Excelente! Nos da mucho gusto saberlo :)
Hola luiyiti, depronto tienes ese codigo que comentaste aca? enserio te lo agradeceria mucho si me lo compartieras , me lo pidieron para una materia de primer semestre y no logro programarlo con mi motor actual, asi que planeo intentarlo en python, muchas gracias de antemano
Hola fredy, deja lo busco en mi pc y con gusto te mando el archivo y las librerías que utilice, si podrías proporcionarle tu correo para enviartelo, de un estudiante a otro nos apoyamos
me lo podrías pasar por favor , es para una tarea escolar, no mandaré tu código tal cual, deberé agregar cosas que me pidieron en al universidad.
@@cristianfernandogarciabern9018 claro, proporcioname tu correo y con gusto te lo mando
oye que gusto me da saber que voy a ser el primero en comentar, veras soy estudiante de ing de sistemas , actualmente viendo una materia que se llama analisis numerico , cuyo profesor xxxx (Chaus ojala veas esto , te hare famoso ¬¬/ , ºº/), nos dejo la tarea de programarlo en python , y ahora me encuentro este video ,..... aleluya ....... muchas gracias .... si tienen el recta secante o el de newton , o si lo pueden hacer gracias ..... no saben de verda cuan agradecido estoy , ojala lo hubiera visto antes.
+PYTHON MASTER Qué bueno que te van a ser de utilidad los vídeos 😊 y si ya tenemos los otros dos métodos ➡
Método Newton Raphson: th-cam.com/video/NEAKTfi6ZlU/w-d-xo.html
Método Secante: th-cam.com/video/lJkBTxYzf-M/w-d-xo.html
cctmexico que buena onda son ustedes
x2
x3
me dejaste anonadada excelente super explicacion, ahora espero que pueda hacer el mio, te debo una, gracias
¡Al contrario, muchas gracias por vernos y dejarnos tan amable comentario! ¡Mucho éxito!
Funciona para spyder o pycharm ???????
Para los dos y otro software en el que se programe en Python
signo = ""
limite = ""
#Función para polinomios
def poli(x):
y = pow(x, 2) - (3 * x) - 4
return (y)
#Programa principal
print("Este programa encuentra una raíz, por el método de bisección")
xi = float(input('Introduce el valor de xi')) #limite inferior
xs = float(input('Introduce el valor de xs')) #limite superior
error = float((input('Introduce el error')))
xa = (xi + xs) / 2.0
i = 0
print('{:^10}{:^10}{:^10}{:^10}{:^10}{:^10}{:^10}'.format(
'i', 'xi', 'xs', 'xa', 'signo', 'cambio', 'error'))
while abs(poli(xa)) > error:
i = i + 1
print('{:^10}{:^10.4f}{:^10.4f}{:^10.4f}{:^10}{:^10}{:^10.4f}'.format(
i, float(xi), float(xs), float(xa), signo, limite, float(poli(xa))))
xa = (xi + xs) / 2.0
if poli(xi) * poli(xa) < 0:
xs = xa
signo = "negativo"
limite = "superior"
else:
xi = xa
signo = "positivo"
limite = "inferior"
print("La raíz es: ", xa)
Hola, soy una economista aprendiendo Python, solo te quería hacer saber que eres mi nueva youtuber FAVORITA 😂😁
¡Muchas gracias por tan amable comentario! Revisa que signo esté escrito igual, donde le asignas un valor ¡Mucho éxito!
Lo estoy programando en Python 3.9 pero no me salen esas tablas que pusiste
Hola, muchas gracias por la explicación. Tengo un pequeño problema con mi código que está copiado tal cual lo pones allí, ya que cuando me saca la tabla en la columna de "Signo" y Límite" no muestra si cambio de signo (negativo, positivo) o límite (superior, inferior), sólo muestra en las columnas signo, signo, signo, límite, límite, límite. Aclaro que estoy trabajando en Spyder por si eso tiene algo que ver.
Muchas gracias por la ayuda.
Hola Sara, sería cuestion de revisar otra vez el código, a lo mejor hay un error de "dedo" y no hay ningún problema que estés trabajando en Spyder.
muy buen videos!! pero podria hacerlo en MATLAB?
Una pregunta si tal vez no es muy tarde, me sale NameError: name 'signo' is not defined, según busque es porque no está definida la variable, pero nose como hacer, revisé y esta bien, creo es poque el signo se define despues del if. Pasa justo cuando cambio la linea de impresión como tu dices para que salgan los limites correctos. Que puedo hacer?
Hola, el error puede ser porque la variable signo no tiene algún valor o porque hay un error "de dedo" y a lo mejor la escribiste antes como sino o algo similar, aquí te dejamos este vídeo que te pudiera ser de utilidad: th-cam.com/video/X46F2-OxxqY/w-d-xo.html
@@cctmexico Muccha gracias por la ayuda, me sirvió para darme cuenta de algunas cosas. Sin embargo hallé en un comentario alguien puso esto antes del while:
signo = ""
limite = ""
para definir las variables y hay si me funcionó, nose si me hice entender pues todavia soy novato y me faltan mucho todavia😅😅😅. Muchas gracias eres de gran ayuda.
Me aparerece un error en la línea 13 "Taberror: incosistent use of tabs and spaces in indetation" cómo lo puedo solucionar?
buen video sabes como le puedo implementar para que me salga el error porcentual
como hago apara cambiar de polinomio?
buenos dias, me sale un error de sintaxis en el print('{:^10}{:^10}{:^10}{:^10}{:^10}{:^10}{:^10}'.format{'i','xi','xs','xa','signo','cambio','error'}) como lo puedo solucionar?
Graciasss toma tu like
una pregunta, como sabes que valor le introduces al error?
Depende de la precisión que quieras manejar en tu problema, entre más cercano sea a cero mejor, por ejemplo .0001 o .00001 podrían funcionar muy bien
Ya lo hice con la ecuación que ponen como ejemplo pero no se como poner en el código la siguiente ecuación 4𝑥^3− 3 = 0, estoy usando Canopy. Gracias.
Hola Oliver, aquí te dejamos una forma:
4*x**3-3
como sale ese error de 0.00001
LA AMO
Muchas gracias por dejarnos tan amable comentario!! 😊
Excelente video , Solo tengo un pequeño problema , me marca un error de sintaxsis en el while , y no se por que .
while abs(poli(xa)) > error:
i=i+1
Me ayudarias mucho diciendome por que :v . Gracias
Hola me gusta mucho tu video pero tengo un problema en la fila (print "La raiz es: ",xa) porque la impresión ni me sale en el modulo. Yo uso el lenguaje y el entorno python 2.7.14
Hola Marcela, muchas gracias por ver nuestro vídeo ¿Qué error te manda (el mensaje que sale en la consola)?
No me muestra el error, solo no me esta imprimiendo el print
@@marcelavelez8720 Tengo el mismo error, ¿Cómo lo resolviste?
@@cctmexico Hola! a mi me arroja "invalid syntax"
Hola!, si yo quiero hacer que mi ecuación sea 'xa' en ves de la que tienes en poli(x), evaluada de 0 a 1, con un error de 0.000001, como le hago?
Hola! ¿En qué minuto sería la modificación?
Muchas graciasssss!!
De nada, muchas gracias a tí, por vernos!
@@cctmexico Hola, una pregunta al momento de abrir un nuevo proyecto, qué tipo le ponen?
Hola! Ahorita estamos utilizando Spyder y solamente tenemos que seleccionar nuevo archivo, ese archivo debe tener la extensión py que es para los pogramas en Python, saludos!
Tengo una dudaaa :(
Python me marca error en “raw_input” me aparece que no está definido :(
Es por la version de Python. Python 2 raw_input() Python 3 input()
Muchas gracias por la respuesta :)
hola... ayuda por favor cuando hago el cambio de print y hago correr el programa me aparece el sgt error.....(print('{:^10}{:^10.4f}{:^10.4f}{:^10.4f}{:^10}{:^10}{:^10.4f}' .format(i,float(xi),float(xs),float(xa),signo,limite,float(poli(xa))))
NameError: name 'signo' is not defined)......AYUDA POR FAVOR
Revisa que si hayas definido "signo" en las líneas anteriores, puede ser un error de dedo
cctmexico esta tal cual hiciste en el video
@@cctmexico
#Función para polinomios
def poli(x):
y=pow(x,2)-(3*x)-4
return (y)
#Programa principal
print ("Este programa encuentra una raíz, por el método de bisección")
xi=float(input('Introduce el valor de xi:'))
xs=float(input('Introduce el valor de xs:'))
error=float((input('Introduce el error:')))
xa = (xi+xs)/2.0
i=0
print('{:^10}{:^10}{:^10}{:^10}{:^10}{:^10}{:^10}' .format('i', 'xi', 'xs', 'xa', 'signo', 'cambio', 'error'))
while abs(poli(xa)) > error:
i=i+1
print('{:^10}{:^10.4f}{:^10.4f}{:^10.4f}{:^10}{:^10}{:^10.4f}' .format(i,float(xi),float(xs),float(xa),signo,limite,float(poli(xa))))
xa = (xi+xs)/2.0
if poli(xi)*poli(xa) < 0:
xs=xa
signo="negativo"
limite="superior"
else:
xi=xa
signo="positivo"
limite="inferior"
print("La raíz es: ",xa)
@@galvanromerojonathan5763 ¿Pudiste solucionarlo? A mí me aparece el mismo problema
hola buenas noches , excelente tutorial , solamente una pregunta, este programa esta escrito en python 2 como podríamos implementar esto en python 3 sabiendo que por ejemplo la función raw_ ya no existe en python 3
Hola, muchas gracias por dejar tu amable comentario! en Python 3, se sustituye el raw_ por input p or ejemplo n=int(input("Introduce el número entero") ) para flotantes cambia int por flot, aquí te dejamos una lista de vídeos que tenemos con Python 3 th-cam.com/video/YtBRCU-db_I/w-d-xo.html
Dejo mi codigo para Python 3, adaptandolo de un codigo de fortran de la facultad por si a alguien le puede servir. PD: Gracias por el video!!
#encoding: utf-8
import math
#f: función, a: cota superior, b: cota inferior, n: numero de iteraciones, tol: tolerancia del error
def biseccion(f, a, b, n, tol):
cota = None
if f(a)*f(b)>0.:
return (math.nan, -1, 0, cota) #no hay raíz, clave de que no se pudo proceder. 0 iteraciones.
for i in range(1, n+1):
error = (b-a)*0.5
raiz = a + error
if (error < tol):
return (raiz, 0, i, cota) #retorna la raiz
if f(a)*f(raiz)>0.:
cota = "Superior"
a=raiz
else:
cota = "Inferior"
b=raiz
return (raiz, 1, i, cota) #a excedido la cantidad de iteraciones. El valor de la raiz corresponde al ultimo a o b tomado.
#Unos buenos valores para n es 1000 y para tol es 1e-16
Buenas noches, necesito contacto directo en un medio donde pueda enviar una captura de pantalla, como correo electronico por ejemplo, se lo agradeceria muchisimo.
Hola Buenas noches! Puedes hacer tu pregunta (e incluir el código) en stackoverflow.com responden muy rápido y tienes la opción de preguntar en Inglés o Español, seguro te ayudarán con ese problema. También aquí te dejamos un vídeo, que te puede servir como guía, para agregar tu pregunta: th-cam.com/video/X46F2-OxxqY/w-d-xo.html
Hola mi duda es por que en la segunda iteracion xa te salio 5 debería ser 2.5.Gracias
Hola! Debe ser por el contador, que va una iteración adelante si te fijas en la 3 tiene ese resultado, saludos!
E se eu querer entrar com um grau n?
Oi! Do you speak English?
@@cctmexico não!
@@cctmexico and if I want to enter with a degree n
You can modify the line number 3, pow is used to raise to n degree, for a 3 degree it could be:
pow(x,3)+pow(x,2)+3*x+5
And If i want to entry to n = 999?