Una pregunta tal vez compleja pero no hallo respuesta, si yo quiero introducir la ecucación mediante el input, el programa deja de funcionar porque con el input la ecuación entra como string, entonces como debo hacer para que yo pueda introducir la ecuación tal como lo hago con los valores de inicio x1 y x2 y que funcione? Nose si me hago entender, pero si me puedes ayudar seria de mucha ayuda, se que no es mucho del tema de la secante pero me ayudaria mucho, gracias.
@@cargandoporfavorespere6970 si claro, pero cuando introduces una ecuación pones letras y numeros. Por eso no me sirve eso. Osea quiero que desde la consola yo meter la ecuación que quiera. Pero ya nada va tocar modificar directamente desde el código ir cambiando.
@@Cristian-ld2ul pudes separarlas por partes, osea para las x pones input() y para los numeros pones int(input()) tipo asi letra1 = input("digite la primera letra: ") numero_1 = int(input("digite el numero: ")) y asi para los demas numeros y letras, solo es una opcion
+jackeline hernandez Hola! Aquí te dejamos información que encontramos, para encontrar todas las raíces de un polinomio: Puedes utilizar una de las funciones del módulo de Python (Scipy) aquí viene un ejemplo 👉 pendientedemigracion.ucm.es/info/aocg/python/modulos_cientificos/scipy/index.html Encontramos este artículo sobre como usar Método secante para encontrar todas las raíces (próximamente lo probaremos) 👉 math.oregonstate.edu/~gibsonn/Teaching/MTH351-001W12/Supplements/King.pdf El algoritmo recomendado para encontrar todas las raices :Jenkins-Traub en.wikipedia.org/wiki/Jenkins%E2%80%93Traub_algorithm
si por alguna extraña razon el codigo del video no es funcional, me resulto asi para python 3: import numpy as np def f(x): y = 920*x**3 + 54*x**2 + 18*x -221 return (y) def f(x1): y1 = 920*x1**3 + 54*x1**2 + 18*x1 -221 return (y1) x = float(input("ingresa el valor de x que es a:")) x1 = float(input("ingresa el valor de x1 que es b:")) error = 10 errorf = 1*10**-9 i = 0 x2 = (x+x1)/2 while(abs(x2)) > errorf: x2 = x1-((x1-x)/(f(x1)-f(x)))*f(x) x = x1 x1 = x2 i = i+1 print("iteracion", i, "raiz aproximada:",x2) if x2
buena intro, mamalona 😀👍🏿
¿porque el error tiene que estar igualado a 1?
como lo hago pero, con la opcion de que el usuario ingrese su propia funcion
Una pregunta tal vez compleja pero no hallo respuesta, si yo quiero introducir la ecucación mediante el input, el programa deja de funcionar porque con el input la ecuación entra como string, entonces como debo hacer para que yo pueda introducir la ecuación tal como lo hago con los valores de inicio x1 y x2 y que funcione? Nose si me hago entender, pero si me puedes ayudar seria de mucha ayuda, se que no es mucho del tema de la secante pero me ayudaria mucho, gracias.
si solo pones input() el programa lo tomara com sting
pero si pones int(input()) el programa lo tomara como numero
espero te sirva
@@cargandoporfavorespere6970 si claro, pero cuando introduces una ecuación pones letras y numeros. Por eso no me sirve eso. Osea quiero que desde la consola yo meter la ecuación que quiera. Pero ya nada va tocar modificar directamente desde el código ir cambiando.
@@Cristian-ld2ul pudes separarlas por partes, osea para las x pones input() y para los numeros pones int(input())
tipo asi
letra1 = input("digite la primera letra: ")
numero_1 = int(input("digite el numero: "))
y asi para los demas numeros y letras, solo es una opcion
seguro ya no te es muy util, pero existe una libreria llamada sympy que te permite introducir la ecuacion desde el teclado, con número y letras.
Hola, en la parte de print "metodo de la secante" me sale error, alguien puede ayudarme jajaja
print ("Método de la secante") ¿No te faltarón los paréntesis? saludos!
Como pude hacer para sacar todas las raíces que tiene la función?
*puedo
+jackeline hernandez Hola! Aquí te dejamos información que encontramos, para encontrar todas las raíces de un polinomio:
Puedes utilizar una de las funciones del módulo de Python (Scipy) aquí viene un ejemplo 👉
pendientedemigracion.ucm.es/info/aocg/python/modulos_cientificos/scipy/index.html
Encontramos este artículo sobre como usar Método secante para encontrar todas las raíces (próximamente lo probaremos) 👉
math.oregonstate.edu/~gibsonn/Teaching/MTH351-001W12/Supplements/King.pdf
El algoritmo recomendado para encontrar todas las raices :Jenkins-Traub
en.wikipedia.org/wiki/Jenkins%E2%80%93Traub_algorithm
hola, como puedo cambiar el polinomio sin que me de error cuando corro el progrmama
¿Qué mensaje de error te manda?
error de sintaxis, quiero poner un polinmio cuaquiera ose un 2x^2+5x+7 por ejemplo y me dice error de sintaxis
Revisa: Paréntesis, que entre los números y la x haya * para indicar multiplicación
okay gracias
te amoooooo me salvaste el trimestre
PODRÍAN PASARME EL DE LA SECANTE MEJORADA O UN LINK DE UN VÍDEO DON DE LO EXPLIQUEN POR FAVOR
Con mucho gusto, aquí te lo dejamos: th-cam.com/video/YOHtIzPmfzE/w-d-xo.html
Por el momento solamente tenemos el vídeo del método de la Secante, por si te es de utilidad: th-cam.com/video/YOHtIzPmfzE/w-d-xo.html
Hola, me manda un error de sintaxia en la parte de "raiz.append()" por favor, podrias apoyarme con eso? :)
La respuesta está a partir del minuto tres en el vídeo, saludos!
a mi solo me corrieron los primeros 3 valores:C
no me funciona en python 3
Cambia estas líneas para que funcione en Python 3
raw_input por float(input("Introduce..."))
print "Resultado" por print ("Resultado")
mira sale este error, adjunto el codigo escrito, saludos
x2 = x1 - (np.poli(x1)*(x1-x0))/(np.poli(x1)-np.poli(x0))
AttributeError: module 'numpy' has no attribute 'poli'
###codigo
import numpy as np
import math
def poli(x):
y = (np.exp**x)+(2**-x)+(2*np.cos(x))-6
return (y)
print("metodo secante")
x1=float(input("introduce el valor x1:"))
x0=float(input("introduce el valor x0:"))
errorf = 1*10**-6
raiz = []
raiz.append(0)
i = 0
error = 1
while abs(error)>errorf:
x2 = x1 - (np.poli(x1)*(x1-x0))/(np.poli(x1)-np.poli(x0))
raiz.append()
x0 = x1
x1 = x2
i = i+1
error = (raiz[i] - raiz[i-1])/raiz[i]
print(x2)
Checa el código del vídeo, ya que poli es una función que definimos (en la parte superior del código) y no depende de Numpy, saludos!
si por alguna extraña razon el codigo del video no es funcional, me resulto asi para python 3:
import numpy as np
def f(x):
y = 920*x**3 + 54*x**2 + 18*x -221
return (y)
def f(x1):
y1 = 920*x1**3 + 54*x1**2 + 18*x1 -221
return (y1)
x = float(input("ingresa el valor de x que es a:"))
x1 = float(input("ingresa el valor de x1 que es b:"))
error = 10
errorf = 1*10**-9
i = 0
x2 = (x+x1)/2
while(abs(x2)) > errorf:
x2 = x1-((x1-x)/(f(x1)-f(x)))*f(x)
x = x1
x1 = x2
i = i+1
print("iteracion", i, "raiz aproximada:",x2)
if x2
¡Qué bueno que ya lo resolviste! Saludos! :)