Newton Raphson para sistemas de ecuaciones no lineales Matlab

แชร์
ฝัง
  • เผยแพร่เมื่อ 1 ก.พ. 2025

ความคิดเห็น • 53

  • @C7Showman
    @C7Showman 11 ปีที่แล้ว +1

    Brother me salvaste la vida, estaba que me rompía la cabeza y nada. Funciona a la perfección muchas gracias por la explicación.

  • @ramiroconcepcionlozano3041
    @ramiroconcepcionlozano3041 4 ปีที่แล้ว

    que dios te bediga mucho a ti y a tu familia , un abrazo desde cuba

  • @menosesmasfull1
    @menosesmasfull1 9 ปีที่แล้ว +1

    Gracias!! Nos ha salvado la vida a muchos :p

  • @LuisaRestrepo
    @LuisaRestrepo 11 ปีที่แล้ว

    Gracias, muy bien explicado todo, me funciono a la perfección!!!

  • @mauriciotamayo8942
    @mauriciotamayo8942 11 ปีที่แล้ว +2

    Muchas gracias muy bueno el tutorial todo funciona muy bien, quisiera ponerlo en un ejecutable podrias ayudarme en eso por favor o hacer un tutorial de eso gracias de antemano????

  • @zeroo092
    @zeroo092 9 ปีที่แล้ว +1

    Buenas jc jimenez tenemos una inquietudes
    1.- que representa deltaX
    2.-Por que la condicion del while es que la norma de delta tiene que ser mayor al producto de la toleracion por la norma de x0

  • @hperhuaman
    @hperhuaman 11 ปีที่แล้ว +1

    Excelente Vídeo, Gracias, por favor, ¿Cuál es el libro de referencia que utiliza en el vídeo?.
    Saludos

  • @jcjimenezb
    @jcjimenezb  11 ปีที่แล้ว

    el parametro de entrada x0 debe ser un vector columna, se usa el ' para otener la transpuesta y convertirlo a un vector renglon y se agrega el valor 0 como la norma de la primera iteracion. Mas abajo se va incrementando la tabla de las iteraciones con el vector x0 nuevo y la norma correspondiente.

  • @josue9191
    @josue9191 10 ปีที่แล้ว +1

    buen día, muchísimas gracias por tu ayuda brindada.
    solo tengo una pregunta y una sugerencia:
    sugerencia: seria bueno que en la condición en el ciclo while fuese así norm(deltaX)>=norm(x0)*tol %por si el punto x0=[0;0;0;...;0].
    mi pregunta es: como le hago para que las expresiones numéricas matlab me las de evaluadas? por ejemplo tengo este sistema de ecuaciones:
    A=[3*x-cos(y*z)-0.5;4*x^2-625*y^2+2*y-1;exp(-x*y)+20*z+((10*pi)/3)-1]; al querer solucionar por el metodo de newton raphson con x0=[0;0;0].
    me da como respuesta:
    sol =
    (3*(194376*2^(1/2)*exp(1/4) - 797440*exp(1/4) + 204344*6^(1/2)*exp(1/4) + 5605*2^(1/2) - 5605*6^(1/2) - 8280*pi*2^(1/2)*exp(1/4) + 8280*pi*6^(1/2)*exp(1/4)))/(4*(1794240*exp(1/4) + 1881*2^(1/2) - 1881*6^(1/2) - 160*pi*2^(1/2)*exp(1/4) + 160*pi*6^(1/2)*exp(1/4))) + 1/2
    (3*(1248*2^(1/2)*exp(1/4) - 601280*exp(1/4) + 1312*6^(1/2)*exp(1/4) - 589*2^(1/2) + 589*6^(1/2)))/(4*(1794240*exp(1/4) + 1881*2^(1/2) - 1881*6^(1/2) - 160*pi*2^(1/2)*exp(1/4) + 160*pi*6^(1/2)*exp(1/4))) + 1/2
    (358848*exp(1/4) - 589*pi*2^(1/2) + 589*pi*6^(1/2) + 15048*2^(1/2) + 15048*6^(1/2) - 32*pi*2^(1/2)*exp(1/4) + 32*pi*6^(1/2)*exp(1/4) - 463752)/(4*(1794240*exp(1/4) + 1881*2^(1/2) - 1881*6^(1/2) - 160*pi*2^(1/2)*exp(1/4) + 160*pi*6^(1/2)*exp(1/4))) - pi/6
    en vez de
    sol=
    0.500166686911466
    0.250803638439239
    -0.517387427392491
    la configuración la tengo en long g
    muchas gracias

  • @metaloper
    @metaloper 11 ปีที่แล้ว

    gracias por la ayuda! saludos

  • @amvtvazquez222
    @amvtvazquez222 11 ปีที่แล้ว +2

    Excelente video, Disculpe al ejecutar el programa me marca:
    ??? function [sol,iter,jac]=newtonsi(f,x0,tol,c)
    |
    Error: Function definitions are not permitted at the prompt or in scripts.
    ??? Input argument "f" is undefined.
    Error in ==> newtonsi at 15
    jac = jacobian(f);
    Si pudiera ayudarme se lo agradecería , saludos

  • @caterincifuentes6178
    @caterincifuentes6178 11 ปีที่แล้ว

    Gracias!!!!! Me sirvio arto ^^!

  • @Ricardo101190
    @Ricardo101190 11 ปีที่แล้ว +2

    muy buen video solo tengo una duda al crear la funcion en el editor por ejemplo en iter =[x0'0] me marca como error y a la hora de llamarlo para resolver las ecuaciones me marca esos errores donde lleva el ' por que

  • @GuzsMX
    @GuzsMX 11 ปีที่แล้ว +1

    Que tal, si no es mucha molestia podrías enseñar como hiciste la ventana para mostrar los datos porque la verdad no se como se hace y se me complica algo Matlab. Gracias

  • @mariadelaluzmedinallamas3070
    @mariadelaluzmedinallamas3070 9 ปีที่แล้ว +1

    hola! trato de usar tu programa para una sistema de dos ecuaciones no lineales, sin embargo me aparecen estos errores "sym/cat>catMany" de los cuales no encuentro la forma de eliminarlos. Me podrías sugerir algo?

  • @jcjimenezb
    @jcjimenezb  11 ปีที่แล้ว

    Tienes 2 opciones:1) registrar el toolbox en File/set path/Add folder... "seleccionar la carpeta donde se encuentra symbolic ...matlab\...\toolbox\symbolic. 2) la otra opcion es que generes las funciones .m con la definicion de las funciones y otra para las derivadas del Jacobiano, luego en lugar de llamar la funcion subs tendras que llamar tu funcion con los valores de las variables para que te devuelva el resultado como una matriz, tal como lo haria la funcion subs. Saludos!

  • @ulisseszoto3366
    @ulisseszoto3366 8 ปีที่แล้ว

    Muchas gracias!

  • @yadiazg8
    @yadiazg8 11 ปีที่แล้ว

    Para poder utilizar el Toolbox Simbolic (Que por default puede venir desactivado) solo ve en la ventana de resultados al menu FILE>>SET PATH>>SELECCIONAS LA CARPETA QUE DIGA SYMBOLIC>>SAVE.
    luego en el cuerpo del programa solo declaras con la palabra "syms"

  • @jesusantoniohortapolo7410
    @jesusantoniohortapolo7410 9 ปีที่แล้ว

    tengo un grave problema, las funciones trigonométricas como sin(A), si remplazo A=5 me sale sin(5) y no el numero resultante. ¿como hago con eso?

  • @deivyyafuemoreno5820
    @deivyyafuemoreno5820 6 ปีที่แล้ว

    Buen dia, lo que sucede es que al darle correr al programa me sale el siguiente error:Not enough input arguments.
    Error in newhonmulti (line 3)
    jac=jacobian(f);
    y no se a que se deba muchas gracias

  • @ignaciomontesblacutt551
    @ignaciomontesblacutt551 6 ปีที่แล้ว

    hola usando tu algoritmo en el matlab 2015b me ocurreun error el cual dice que mi variable newtonsi no esta definida y esta igual que en el video

  • @chavasosa2824
    @chavasosa2824 10 ปีที่แล้ว

    hola amigo tengo un problemita con la linea 15 del codigo al correrlo me dice que la f es indefinido que es lo que puedo hacer para corrgirlo?? espero me puedas ayudar

  • @20004CAMI
    @20004CAMI 10 ปีที่แล้ว +1

    Buenas tardes, Gracias por compartir tu conocimiento con nosotros...
    Una pregunta es que en mi matlab 2013a el programa se queda iterando y se bloquea el programa... y no sale ningún resultado de sol, iter, jac que pudo haber pasado. Agregue al toolbox mi carpeta y tampoco.
    Gracias

  • @pipe086
    @pipe086 10 ปีที่แล้ว +1

    funciona con la version 2013?

  • @YesithDiaz
    @YesithDiaz 11 ปีที่แล้ว +1

    como hago para tener el symbolyc en matlab 2009a

  • @jose22cg
    @jose22cg 10 ปีที่แล้ว

    gola profe, una duda me sale esto
    [sol,iter,jac]=newtonsi(A,x0,0.00001,100)
    Warning: System is rank deficient. Solution is not unique.
    estoy usando la version 2014

  • @sunwukong1612
    @sunwukong1612 7 ปีที่แล้ว

    Tengo un problema, no se por qué matlab no me deja hacer esta operación deltax=dfx0\(-fx0), los dos datos son de tipo sym y como que permite esa operación en ese tipo de datos, alguien sabe como se soluciona???

  • @jp23012
    @jp23012 11 ปีที่แล้ว +1

    hola no podrias enviarme a mi correo el programa desarrollado, digo si es que aun lo tienes guardado, me seria de gran ayuda...

  • @edgarcin95
    @edgarcin95 9 ปีที่แล้ว +1

    ¿Puedes subir el código? porfa

  • @joseenriquerodriguezmirama5894
    @joseenriquerodriguezmirama5894 10 ปีที่แล้ว

    Una duda lo corri y hace las interacciones pero me pone esto: Warning: Matrix is close to singular or badly scaled.
    Results may be inaccurate. RCOND = 4.872065e-17.

    • @jcjimenezb
      @jcjimenezb  10 ปีที่แล้ว

      Esto se debe a que las ecuaciones son muy parecidas, entonces el punto de intersección se da en un rango amplio. Esto se entiende por una matriz singular, donde por errores de redondeo la solución puede variar. Imagina dos ecuaciones con dos incógnitas, la grafica de estas dos funciones son dos curvas que casi se tocan en un rango amplio, por lo tanto no es fácil determinar el punto exacto de intersección.

    • @joseenriquerodriguezmirama5894
      @joseenriquerodriguezmirama5894 10 ปีที่แล้ว

      pero este error lo produce en la linea de este codigo
      deltaX= dfx0 \ ( -fx0);
      no se si se deba a la diagonal inversa por que marca errore ahi.

    • @jcjimenezb
      @jcjimenezb  10 ปีที่แล้ว

      esta es la parte donde resuelve el sistema, al tratar de resolverlo encuentra que es singular y no puede seguir, puedes probar con otro método, por ejemplo, jacobi o gauss seidel, que son métodos iterativos, te puedes apoyar en el video tutorial que subi para estos métodos.

    • @zeroo092
      @zeroo092 9 ปีที่แล้ว

      +Jose Enrique Rodriguez Miramar
      Pregunta: que punto de entrada ocupaste?

  • @andresyate
    @andresyate 10 ปีที่แล้ว +2

    hola estoy utilizando tu algoritmo pero lo estoy corriendo en la version 2014a con las funciones de entrada que utilizas en el video. resulta que asi le coloque 5 iteraciones el programa se queda resolviendo el sistema, sabes otro metodo para resolver el sistema sin usar el \. gracias

    • @andresyate
      @andresyate 10 ปีที่แล้ว +1

      Ya lo resolvi en las iteraciones recomiendo utilizar el comando sym2poly para convertir deltaX a numero y no dejarlo en formato simbolico.

    • @snaki301
      @snaki301 10 ปีที่แล้ว

      amigo como resolviste el problema con las iteracciones, tengo el mimo problema

    • @henryEA
      @henryEA 10 ปีที่แล้ว

      jaime andres yate gomez Es correcto al agregarle esta corrección el codigo ahorra tiempo computacional y realiza las operaciones de una forma correcta

    • @jose22cg
      @jose22cg 10 ปีที่แล้ว

      jaime andres yate gomez en que parte lo colocas'?

    • @andresyate
      @andresyate 10 ปีที่แล้ว

      José A. Catarino la debes colocar después de la linea donde obtienes deltaX en tu código. esto en caso de que sigas tal cual el código presentado en este vídeo

  • @eduardoruizquero1266
    @eduardoruizquero1266 11 ปีที่แล้ว +1

    no habria manera de que me pasara el programa?

  • @ANARKO14
    @ANARKO14 11 ปีที่แล้ว

    buenas tardes, disculpe al ejecutar el programa me marca esto:
    Warning: Matrix is close to singular or badly
    scaled.
    Results may be inaccurate. RCOND =
    1.707940e-016.
    > In newtonsi at 22
    el programa da un resultado erróneo, si pudiera ayudarme se lo agradecería saludos

  • @metaloper
    @metaloper 11 ปีที่แล้ว

    Y como se si tengo el symbolic toolbox?!!! estoy fregado, cuando lo corro me dice Error in MuPAD command: Invalid operands y unos errores abajo.

  • @mrroox8675
    @mrroox8675 8 ปีที่แล้ว +1

    En la Universidad de La Frontera, el profesor Uribe no deja usar variables simbólicas, porque el computador se le pega... y eso que tiene un MACBOOK PRO. :C

  • @andreszela5720
    @andreszela5720 7 ปีที่แล้ว

    hice todo al momento de correr la función el MATLAB se queda estático y se cuelga

  • @carlostriana6000
    @carlostriana6000 10 ปีที่แล้ว +1

    Me prodrias pasar el .mfile?

  • @serverusshaka
    @serverusshaka 10 ปีที่แล้ว

    Alguien sabe como hago que deje de iterar?

    • @ljmvargas
      @ljmvargas 10 ปีที่แล้ว

      Presiones Crtl+C y se detiene el programa.