Método de Newton-Raphson en Python

แชร์
ฝัง
  • เผยแพร่เมื่อ 10 พ.ย. 2024

ความคิดเห็น • 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 ปีที่แล้ว

    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  ปีที่แล้ว +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
      th-cam.com/video/r4s4fHLq_iY/w-d-xo.html

    • @danielortega364
      @danielortega364 ปีที่แล้ว

      @@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.

  • @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.

  • @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)
      --------------

  • @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.

  • @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)

  • @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

    • @programmath
      @programmath  3 ปีที่แล้ว

      Es posible que el print esté fuera del ciclo.

    • @victorjesusreavalencia7113
      @victorjesusreavalencia7113 3 ปีที่แล้ว

      @@programmath sera?
      def f(x):#definicion de la funcion
      func=pow(x,3)+2*pow(x,2)+10*x-20
      return func
      def df(x):#derivada de la funcion
      return 3*pow(x,2)+4*x+10
      def NewtonRaphson(x0,to1,n):#definir funcion de newtonRaphson
      for k in range(n):#funcion de iteracciones
      #iteracciones realisadas por la siguiente formula
      x1=x0-f(x0)/df(x0)
      if(abs(x1-x0)

    • @programmath
      @programmath  3 ปีที่แล้ว

      Las líneas
      x0=x1
      print(.......)
      Están dentro del if, redúceles la sangría para que queden fuera del if, pero dentro del for.

    • @victorjesusreavalencia7113
      @victorjesusreavalencia7113 3 ปีที่แล้ว +1

      @@programmath ok gracias

    • @programmath
      @programmath  3 ปีที่แล้ว

      Gracias