Método de Newton-Raphson en Python

Поділитися
Вставка
  • Опубліковано 21 гру 2024
  • Se programa el método de Newton-Raphson de tal forma que Python deriva la función digitada por el usuario. En caso de no contar con la librería sympy se crea un programa en el cual no se requieren variables simbólicas.

КОМЕНТАРІ • 28

  • @alesxd3348
    @alesxd3348 3 роки тому +3

    Uff papi, vos sos muy crack, todos los cuchos que veia explicando este tema daban la de sueño, en cambio vos +10

    • @programmath
      @programmath  3 роки тому +2

      Gracias por tu comentario, me da ánimo para continuar con el canal.

  • @arielvelascoantezana9660
    @arielvelascoantezana9660 2 роки тому

    Buenas, y para resolver un sistema de ecuaciones con este metodo?
    PD: Buenos videos, gracias de antemano

  • @danielortega364
    @danielortega364 2 роки тому

    Cómo sería el método para que una persona digite los parámetros como función, xi, todo y el programa haga la derivada e imprima las iteraciones? Yo le pongo los inputs en las variables y por alguna razón no me funciona.

    • @programmath
      @programmath  2 роки тому +1

      Para Python todo lo que se digita por input es reconocido como cadena de caracteres, por ello toca convertirlo al tipo de variable correspondiente; por ejemplo, para el número de iteraciones conviene algo como esto
      n=int( input('Digite el número de iteraciones ') )
      En este video se explica ese inconveniente
      ua-cam.com/video/r4s4fHLq_iY/v-deo.html

    • @danielortega364
      @danielortega364 2 роки тому

      @@programmath
      import sympy as sp
      from math import * #se importan todas las funciones de la libreria
      def newtonraphson():
      x=sp.symbols('x') #se crea la variable y se define cual va a ser su invocaion
      f= input('Ingrese la funcion de variable (x): ') #se utilizara X como variable
      df=sp.diff(f)#se realiza la derivada de la funcion introducida
      f=sp.lambdify(x,df)
      df=sp.lambdify(x,df)
      x0=float(input('digite valor un valor inicial: '))
      #x0=float(x0)
      n = input('digite la cantidad de iteraciones a realizar: ')
      n = int👎
      tol = input('digite el error maximo permitido: ')
      tol = float(tol)
      for k in range(n):
      x1=x0-(f(x0)/df(x0))
      if(abs(x1-x0)

  • @anderson_as107
    @anderson_as107 2 роки тому

    Necesito hacer la solución con el método de Newton, el cual es con la primera y segunda derivada. Tendría que definir como F(x) la primera derivada y como df(x) la segunda?

    • @programmath
      @programmath  2 роки тому

      Asumo que lo que buscan es usar el método para hallar máximos y mínimos, en ese caso f(x) debe ser la derivada de la función que te dan en el problema.

  • @anibalfernandezgonzalez9875
    @anibalfernandezgonzalez9875 3 роки тому

    hola bro el codigo no compila a que se debe,
    ?

    • @programmath
      @programmath  3 роки тому

      Muéstrame el error que te da Python.

    • @anibalfernandezgonzalez9875
      @anibalfernandezgonzalez9875 3 роки тому

      estos son los codigos y no compila, espero tu respuesta por favor

    • @anibalfernandezgonzalez9875
      @anibalfernandezgonzalez9875 3 роки тому

      import sympy as np
      from math import*
      def f(x):
      func=0.65*2+5.68*np.log(1+(x)/5.68);
      return func
      def df(x):
      return (5.68)/(1+x)
      def NewtonRaphson(x0,tol,n):
      for k in range(n):
      x1=x0-f(x0)/df(x0)
      if(abs(x1-x0)

    • @programmath
      @programmath  3 роки тому +1

      Lo único que le cambie al programa fueron las sangrías, las puse empleando tab. El código me compila y ejecuta sin contratiempos.
      import sympy as np
      from math import*
      def f(x):
      func=0.65*2+5.68*np.log(1+(x)/5.68);
      return func
      def df(x):
      return (5.68)/(1+x)
      def NewtonRaphson(x0,tol,n):
      for k in range(n):
      x1=x0-f(x0)/df(x0)
      if(abs(x1-x0)

  • @kevinalvarez7818
    @kevinalvarez7818 3 роки тому

    COMO SE PUEDE REALIZAR LA GRÁFICA ?

    • @programmath
      @programmath  3 роки тому +2

      Este es un ejemplo de como generar la gráfica de y=x^2 en el intervalo [-3,3]
      ---------------
      import matplotlib.pyplot as plt
      import numpy as np
      x=np.linspace(-3,3,30);
      y=x**2
      plt.plot(x,y)
      --------------

  • @andreslopez1255
    @andreslopez1255 3 роки тому

    tengo una duda
    este codigo solo sirve para las funciones que tenga cosenos, como en tu ejemplo cos(x)-x**3
    ?

    • @programmath
      @programmath  3 роки тому

      Si necesitas otra función, solo cambias esa línea por la función deseada; puede ser cualquiera.

  • @martinezsanchezrobertocarl4140
    @martinezsanchezrobertocarl4140 3 роки тому

    AttributeError: module 'sympy' has no attribute 'assumptions' me sale eso

    • @programmath
      @programmath  3 роки тому

      Parece un problema con la librería sympy al usar alguno de los comandos. Comparteme tu código para revisarlo.

  • @christopherdiaz4514
    @christopherdiaz4514 3 роки тому

    Si quisiera calcular el error como le haría ?

    • @programmath
      @programmath  3 роки тому

      El error, en el código, es dado por abs(x1-x0) [error absoluto]. Este corresponde a la diferencia (positiva) entre el resultado de la iteración anterior y el de la actual.

  • @victorjesusreavalencia7113
    @victorjesusreavalencia7113 3 роки тому

    por que solo me imprime una iteraccion :c