Método de Newton-Raphson en Matlab

Поділитися
Вставка
  • Опубліковано 18 гру 2024

КОМЕНТАРІ • 37

  • @ariasotaquiisaacjuda7357
    @ariasotaquiisaacjuda7357 2 роки тому +42

    function newtonRapshon
    syms x;
    f=input('Digite la funcion deseada (con variable x)');
    df=diff(f); %derivada de f
    x0=input('Digite el valor inicial');
    n=input('Digite numero de iteraciones');
    tol=input('Digite el error maximo de permitido');
    for k=1:n
    x1=x0-subs(f,x0)/subs(df,x0);
    if(abs(x1-x0)

    • @BrayanCampos-tv7uh
      @BrayanCampos-tv7uh Рік тому

      Al momento de correrlo me sale Error en newtonRapshon line 1
      es por el syms x;
      que puedo hacer

    • @BrayanCampos-tv7uh
      @BrayanCampos-tv7uh Рік тому +2

      syms x;
      f=input('Digite la funcion deseada (con variable x)');
      df=diff(f); %derivada de f
      x0=input('Digite el valor inicial');
      n=input('Digite numero de iteraciones');
      tol=input('Digite el error maximo de permitido');
      for k=1:n
      x1=x0-subs(f,x0)/subs(df,x0);
      if(abs(x1-x0)

    • @adrielignacio1872
      @adrielignacio1872 Рік тому

      te amo muxo

    • @zoejovanamerazramirez6977
      @zoejovanamerazramirez6977 9 місяців тому

      @@BrayanCampos-tv7uh lo pudiste resolver porque a mi me sale lo mismo

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

    BRO COMO PODRIA CONTACTARTE, NECESITO UN PROGRAMA DE DERIVADAS DE ORDEN SUPERIOR A LA ENESIMA, LA FORMULA GENERAL POR APROXIMACIONES

  • @adrielignacio1872
    @adrielignacio1872 Рік тому +2

    Gracias amigaso

  • @Ianjar1801
    @Ianjar1801 2 місяці тому

    NECESITO AYUDA hice todo, hasta vi en los comentarios de que faltaba otras función para el for, pero cuando lo quiero ejecutar me dice que el 'syms x;' esta mal e incluso si le quito la función de NewtonRaphson no se ejecuta. Comparto el código: function NewtonRaphson
    syms x;
    f=input('Digite la función deseada (con variable x)');
    df=diff(f); %derivada de f
    x0=input('Digite el valor inicial');
    n=input('Digite número de iteraciones');
    tol=input('Digite el error máximo de permitido');
    for k=1:n
    x1=x0-subs(f,x0)/subs(df,x0);
    if(abs(x1-x0)

    • @programmath
      @programmath  2 місяці тому

      Por lo que me indicas, el problema está en que no puedes crear variables simbólicas. En la parte superior de la pantalla de Matlab, da clic en Add ons, busca symbolic math toolbox, dale instalar.

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

    Después del end que cierra el ciclo if, qué continua? Porque tienes cerrado el ciclo for, quiere decir que hay algo que continua después de ese end.

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

      Después del end del if sigue
      fprintf('x%d=%f
      ', k, x1)
      x0=x1;
      Y luego el end del for.

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

    error en: x1=x0-subs(f,fx0)/subs(df,x0);
    cómo soluciono el error. copié tal cual tu código pero me sigue apareciendo error ¡ayuda!

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

      Es posible que tengas inconveniente con las variables simbólicas, por favor indícame exactamente qué dice el error.

  • @scord.g.5697
    @scord.g.5697 3 роки тому +1

    hola bro, a mi me enseñaron un metodo parecido, te lo comparto porque me sale error en abs(xr-x0) menor a EPS
    espero tu ayuda porfa
    clear all; close all;
    syms x; % no se pone el sym cuando va lo de vere osea sin feval
    F=input('ingrese la funcion: F=');
    x0=input('ingrese el valor de x0 :');
    EPS=input('ingrese el criterio de convergencia : ');
    EPS1=input('Ingrese criterio de exactitud=');
    Imax=input('Ingrese la interacion maxima int='); %numero maximo de interacciones salida de emergencia
    i=1;
    vt=14.7802;
    DF = diff (F);
    while i

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

      En la línea 22, dice frintf coloca fprintf.
      En cuanto al problema que mencionas, radica en la evaluación de la función. La estás evaluando como función inline cuando en realidad es una función simbólica. Para ir al grano, cada vez que evalues requieres el comando subs; por ejemplo, la iteración del método debe escribirse así:
      xr=x0 - subs(F,x0)/subs(DF,x0);
      Sugiero que cambies ese letrero final "el metodo falla, no converge a una raiz" por
      fprintf('
      x%d=%f',i,xr)
      Ponlo antes de la línea i=i+1 para que muestre el valor obtenido en cada iteración. Por último, te dejo un par de videos para que tengas clara la diferencia entre funciones simbólicas y funciones inline.
      Video de funciones inline: ua-cam.com/video/JIFzGpl8wuo/v-deo.html
      Video de funciones simbólicas: ua-cam.com/video/kI_1l4i2hYo/v-deo.html

  • @zoejovanamerazramirez6977
    @zoejovanamerazramirez6977 9 місяців тому

    a mi me sale error......
    syms requires Symbolic Math Toolbox.
    Error in NewtonRaphson (line 1)
    syms x;

    • @zoejovanamerazramirez6977
      @zoejovanamerazramirez6977 9 місяців тому +1

      syms x;
      f=input('Digite la funcion deseada (con variable x)');
      df=diff(f); %derivada de f
      x0=input('Digite el valor inicial');
      n=input('Digite numero de iteraciones');
      tol=input('Digite el error maximo de permitido');
      for k=1:n
      x1 =x0-subs(f,x0)/subs(df,x0);
      if(abs(x1-x0)

    • @programmath
      @programmath  9 місяців тому +1

      No tienes instalada la librería.
      Para instalarla, abre Matlab en la pestaña Home encontrarás Add-Ons, dale clic y luego get add-ons, eso te despliega un listado de librerías, busca Symbolic Math Toolbox que es la que necesitas.

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

    Alguien me podria explicar a que se refiere lo de el número de iteraciones?

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

      Es el número de veces que vas a repetir el proceso.

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

    Para el polinomio:
    x5 + 5x4 - 2x3 - 24x2 = 0
    Encontrar el número de raíces nulas, positivas y negativas

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

      Para ese problema debes emplear el teorema de los signos de Descartes.

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

      Este video te será de utilidad.
      ua-cam.com/video/dif5Eywjyc8/v-deo.html

  • @alexgiron6813
    @alexgiron6813 Рік тому

    Error using fprintf
    Function is not defined for 'sym' inputs.
    Error in newtonRapshon (line 14)
    fprintf('x%d=%f
    ',k,x1)
    ese es el error que sale

    • @programmath
      @programmath  Рік тому

      Es posible que hayas creado x1 como variable simbólica. Compárteme el resto del código para ver si es por eso.

    • @alexgiron6813
      @alexgiron6813 Рік тому

      function newtonRapshon
      syms x;
      f=input('Digite la funcion deseada (con variable x)');
      df=diff(f); %derivada de f
      x0=input('Digite el valor inicial');
      n=input('Digite numero de iteraciones');
      tol=input('Digite el error maximo de permitido');
      for k=1:n
      x1=x0-subs(f,x0)/subs(df,x0);
      if(abs(x1-x0)

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

    bro en la versión 2014 presenta error en el fprintf, parece que no relaciona la iteración, ya que no concatena el número de iteración con la raíz obtenida:(

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

      Por favor, compárteme la línea de código que muestra el error.

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

      @@programmath mire, me ocurre lo mismo :(
      Error using fprintf
      Function is not defined for 'sym' inputs.
      Error in Met_Newton_Raphson (line 37)
      fprintf('x%d=%f
      ',k,x1);

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

      No veo que estés usando la variable simbólica en el fprintf; por favor, comparteme el código que escribiste para revisarlo en detalle.

  • @krlos0477
    @krlos0477 Рік тому

    como lo grafico

    • @programmath
      @programmath  Рік тому

      Este video te puede servir.
      ua-cam.com/video/XlSw_m-fpBw/v-deo.html

    • @krlos0477
      @krlos0477 Рік тому

      @@programmath muchas gracias :D

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

    nos podrías facilitar el script??

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

      Al final del video se ve el código completo.

  • @luispintoborja3689
    @luispintoborja3689 Рік тому

    error en : if(abs(x1-x0)

    • @programmath
      @programmath  Рік тому

      Por favor, comparte el código en un mensaje ya que la línea que me muestras está bien