def falsap(funcion, x_a, x_b, iteraciones=10, error_r=0.001): # Se inicializan las variables solucion= None contador = 0 error_calculado = 101 #Se evalua si la raiz esta dentro del intervalo if funcion(x_a) * funcion(x_b)
Tras trastear un poco, resulta que para ciertas funciones y segun el intervalo inicial, el programa sí calcula la raiz, pero no funciona el calculo del error, para solventarlo hice le siguiente cambio: y=x_i #Inicialmente se corrobora el x_i ****** error_calculado = abs((solucion -y)/ solucion)*100 #Redefinir la funcion if funcion(x_i) * funcion(solucion) >= 0: #Se cambia el valor de y segun cual nuevo intervalo se ha de usar x_i=solucion y=x_i else: x_f=solucion y=solucion
No entiendo los dos ultimos '5' de la función en que afecta el programa ? "falsap(lambda x: 4*x**4-9*x**2+1, 0, 1, 5, 5) " porque diseñe el programa pero con está formula x**3+4*x-10 y nosé,si debo modificar los '5', o los dejo así como están
como se puede hacer para que la funcion y los x i y xu sean inputs?, es decir, que pueda ser para cualquier ecuacion que yo le ingrese con los parametros que yo le diga, inclusive con el % de error que yo le diga?
escribí el codigo tal cual y me aparece un error :( podrían ayudarme porfi >> falsap(@(x)4*x^4-9x^2+1,0,1,5,5); ??? falsap(@(x)4*x^4-9x^2+1,0,1,5,5); | Error: Unexpected MATLAB expression.
Hola, lo multiplico por 100 para tener el error en porcentaje y que sea visible cómo disminuye el porcentaje de error, pero tu puedes manejar el error que mejor te acomode, ya sea relativo, o una simple diferencia entre valores. Saludos
@@FrancamenteIlustrado Hola, en el caso que tenga más de una solución, el programa encuentra la solución acotada entre el intervalo (si es acotado) o la más próxima al punto inicial, depende del método que se use, puedes ver como funciona internamente si agregas algunos "print" o si graficas. Saludos
Esta serie de métodos numéricos es un joya, muchas gracias.
def falsap(funcion, x_a, x_b, iteraciones=10, error_r=0.001):
# Se inicializan las variables
solucion= None
contador = 0
error_calculado = 101
#Se evalua si la raiz esta dentro del intervalo
if funcion(x_a) * funcion(x_b)
nossriver
EXCELENTE VIDEO MUY BIEN EXPLICADO
Tras trastear un poco, resulta que para ciertas funciones y segun el intervalo inicial, el programa sí calcula la raiz, pero no funciona el calculo del error, para solventarlo hice le siguiente cambio:
y=x_i #Inicialmente se corrobora el x_i
******
error_calculado = abs((solucion -y)/ solucion)*100
#Redefinir la funcion
if funcion(x_i) * funcion(solucion) >= 0: #Se cambia el valor de y segun cual nuevo intervalo se ha de usar
x_i=solucion
y=x_i
else:
x_f=solucion
y=solucion
Que Librerias de Python utilizas para que detecte el codigo?
Saludos
Muy buen vídeo.
eres dios :v
Nuevo sub :3
No entiendo los dos ultimos '5' de la función en que afecta el programa ? "falsap(lambda x: 4*x**4-9*x**2+1, 0, 1, 5, 5) " porque diseñe el programa pero con está formula x**3+4*x-10 y nosé,si debo modificar los '5', o los dejo así como están
Profe una pregunta yo los tengo en Excel que tan difícil es hacerlo en MATLAB ?
SI SABES LA LÓGICA DE PROGRAMACIÓN NO ES NADA DIFÍCIL, ES CUESTIÓN DE INVESTIGAE CONCEPTOS
@@IngesaurioOficial gracias profe lo intentaré
Por que calculas el error de esa manera?
¿Y eso como se graficaría con matplotlib?
como se puede hacer para que la funcion y los x i y xu sean inputs?, es decir, que pueda ser para cualquier ecuacion que yo le ingrese con los parametros que yo le diga, inclusive con el % de error que yo le diga?
escribí el codigo tal cual y me aparece un error :(
podrían ayudarme porfi
>> falsap(@(x)4*x^4-9x^2+1,0,1,5,5);
??? falsap(@(x)4*x^4-9x^2+1,0,1,5,5);
|
Error: Unexpected MATLAB expression.
Faltó quizá un * entre el "9" y la "x"
hola que editor de phyton usas porque yo uso el pycharn pero no lo lee los codigos me sale error no se porque me ayudarias
Hola, uso visual studio code, saludos 🙌
Disculpa, podrías proporcionarme el código en python?
Pronto lo subiremos a nuestras redes sociales en Facebook e instagram, pero si lo necesitas justo ahora, mándanos un dm al instagram
@dimath chanel
Y por que lo multiplicas por 100?
Hola, lo multiplico por 100 para tener el error en porcentaje y que sea visible cómo disminuye el porcentaje de error, pero tu puedes manejar el error que mejor te acomode, ya sea relativo, o una simple diferencia entre valores. Saludos
@@IngesaurioOficial gracias
@@IngesaurioOficial Se te ocurre como seria para una funcion que tenga mas de 1 solucion?
@@FrancamenteIlustrado Hola, en el caso que tenga más de una solución, el programa encuentra la solución acotada entre el intervalo (si es acotado) o la más próxima al punto inicial, depende del método que se use, puedes ver como funciona internamente si agregas algunos "print" o si graficas. Saludos