{"id":7773,"date":"2017-05-28T12:00:41","date_gmt":"2017-05-28T17:00:41","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/analisisnumerico\/?p=7773"},"modified":"2026-03-02T06:50:58","modified_gmt":"2026-03-02T11:50:58","slug":"newton-raphson_sistema-nolineal","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/algoritmos101\/mn-u02\/newton-raphson_sistema-nolineal\/","title":{"rendered":"2.6 Sistemas de Ecuaciones no lineales - Newton-Raphson"},"content":{"rendered":"\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<div class=\"wp-block-group has-medium-font-size is-layout-flex wp-block-group-is-layout-flex\">\n<p><a href=\"#ejercicio\">Ejercicio<\/a><\/p>\n\n\n\n<p><a href=\"#planteamiento\">Planteamiento<\/a><\/p>\n\n\n\n<p><a href=\"#algoritmo\">Algoritmo<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"ejercicio\">Ejercicio<\/h2>\n\n\n\n<p><em><strong>Referencia<\/strong><\/em>: Chapra 6.5 p162, Chapra Ejercicio 6.11 p166<\/p>\n\n\n\n<p>Con el m\u00e9todo de Newton-Raphson para m\u00faltiples ecuaciones, determine las ra\u00edces para:<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> x^2+xy =10 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> y + 3xy^2 = 57 <\/span>\n\n\n\n<p>Observe que un par correcto de ra\u00edces es x=2, y=3.<br>Use como valores iniciales x=1.5, y=3.5<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"planteamiento\">Planteamiento<\/h2>\n\n\n\n<p>Las ecuaciones se expresan de la forma f(x,y) = 0<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> x^2+xy -10 = 0 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> y + 3xy^2 -57 = 0 <\/span>\n\n\n\n<p>Se puede usar extensiones de los m\u00e9todos abiertos para resolver ecuaciones simples, por ejemplo Newton-Raphson.<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> u_{i+1} = u_i + (x_{i+1}-x_i)\\frac{\\partial u_i}{\\partial x} + (y_{i+1}-y_i) \\frac{\\partial u_i}{\\partial y} <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> v_{i+1} = v_i + (x_{i+1}-x_i)\\frac{\\partial v_i}{\\partial x} + (y_{i+1}-y_i) \\frac{\\partial v_i}{\\partial y} <\/span>\n\n\n\n<p>ecuaciones que se pueden reordenar y encontrar la soluci\u00f3n a partir de la matriz Jacobiano.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"algoritmo\">Algoritmo en Python<\/h2>\n\n\n\n<p>Usando un algoritmo para resolver el Jacobiano y estimar los puntos luego de cada iteraci\u00f3n se obtienen:<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code>iteraci\u00f3n:  1\nJacobiano con puntos iniciales: \n&#091; 6.5   1.5 ]\n&#091;           ]\n&#091;36.75  32.5]\ndeterminante:  156.12499999999994\npuntos xi,yi: 2.03602882305845 2.84387510008006\nerror: 0.656124899919936\niteraci\u00f3n:  2\nJacobiano con puntos iniciales: \n&#091;6.91593274619696  2.03602882305845]\n&#091;                                  ]\n&#091;24.2628767545662  35.7412700376474]\ndeterminante:  197.78430344142245\npuntos xi,yi: 1.99870060905582 3.00228856292451\nerror: 0.158413462844444\niteraci\u00f3n:  3\nJacobiano con puntos iniciales: \n&#091;6.99968978103616  1.99870060905582]\n&#091;                                  ]\n&#091;27.0412098452019  37.0040558756713]\ndeterminante:  204.96962918261596\npuntos xi,yi: 1.99999998387626 2.99999941338891\nerror: 0.00228914953559523\niteraci\u00f3n:  4\nJacobiano con puntos iniciales: \n&#091;6.99999938114143  1.99999998387626]\n&#091;                                  ]\n&#091;26.9999894410015  36.9999926704397]\ndeterminante:  204.9999473486533\npuntos xi,yi: 1.99999999999998 3.00000000000008\nerror: 5.86611161867978e-7\nResultado: \n1.99999999999998 3.00000000000008<\/code><\/pre>\n\n\n\n<p>Algoritmo presentado para dos ecuaciones y dos inc\u00f3gnitas, en la unidad 3 se puede ampliar la propuesta. Revisar el m\u00e9todo de Gauss-Seidel y Jacobi.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code alignwide\"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# Ejercicio Chapra Ej:6.11\n# Sistemas de ecuaciones no lineales\n# con m\u00e9todo de Newton Raphson para xy\n\nimport numpy as np\nimport sympy as sym\n\ndef matrizJacobiano(variables, funciones):\n    n = len(funciones)\n    m = len(variables)\n    # matriz Jacobiano inicia con ceros\n    Jcb = sym.zeros(n,m)\n    for i in range(0,n,1):\n        unafi = sym.sympify(funciones&#x5B;i])\n        for j in range(0,m,1):\n            unavariable = variables&#x5B;j]\n            Jcb&#x5B;i,j] = sym.diff(unafi, unavariable)\n    return Jcb\n\n# PROGRAMA ----------\n# INGRESO\nx = sym.Symbol('x')\ny = sym.Symbol('y')\n\nf1 = x**2 + x*y - 10\nf2 = y + 3*x*(y**2)-57\n\nx0 = 1.5\ny0 = 3.5\n\ntolera = 0.0001\n\n# PROCEDIMIENTO\nfunciones = &#x5B;f1,f2]\nvariables = &#x5B;x,y]\nn = len(funciones)\nm = len(variables)\n\nJxy = matrizJacobiano(variables, funciones)\n\n# valores iniciales\nxi = x0\nyi = y0\n\n# tramo inicial, mayor que tolerancia\nitera = 0\ntramo = tolera*2\n\nwhile (tramo&gt;tolera):\n    J = Jxy.subs(&#x5B;(x,xi),(y,yi)])\n\n    # determinante de J\n    Jn = np.array(J,dtype=float)\n    determinante =  np.linalg.det(Jn)\n\n    # iteraciones\n    f1i = f1.subs(&#x5B;(x,xi),(y,yi)])\n    f2i = f2.subs(&#x5B;(x,xi),(y,yi)])\n\n    numerador1 = f1i*Jn&#x5B;n-1,m-1]-f2i*Jn&#x5B;0,m-1]\n    xi1 = xi - numerador1\/determinante\n    numerador2 = f2i*Jn&#x5B;0,0]-f1i*Jn&#x5B;n-1,0]\n    yi1 = yi -numerador2\/determinante\n    \n    tramo = np.max(np.abs(&#x5B;xi1-xi,yi1-yi]))\n    xi = xi1\n    yi = yi1\n\n    itera = itera +1\n    print('iteraci\u00f3n: ',itera)\n    print('Jacobiano con puntos iniciales: ')\n    sym.pprint(J)\n    print('determinante: ', determinante)\n    print('puntos xi,yi:',xi,yi)\n    print('error:',tramo)\n    \n# SALIDA\nprint('Resultado: ')\nprint(xi,yi)\n<\/pre><\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<div class=\"wp-block-group has-medium-font-size is-layout-flex wp-block-group-is-layout-flex\">\n<p><a href=\"#ejercicio\">Ejercicio<\/a><\/p>\n\n\n\n<p><a href=\"#planteamiento\">Planteamiento<\/a><\/p>\n\n\n\n<p><a href=\"#algoritmo\">Algoritmo<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n","protected":false},"excerpt":{"rendered":"<p>Ejercicio Planteamiento Algoritmo Ejercicio Referencia: Chapra 6.5 p162, Chapra Ejercicio 6.11 p166 Con el m\u00e9todo de Newton-Raphson para m\u00faltiples ecuaciones, determine las ra\u00edces para: Observe que un par correcto de ra\u00edces es x=2, y=3.Use como valores iniciales x=1.5, y=3.5 Planteamiento Las ecuaciones se expresan de la forma f(x,y) = 0 Se puede usar extensiones de [&hellip;]<\/p>\n","protected":false},"author":8043,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"wp-custom-template-entrada-mn-unidades","format":"standard","meta":{"footnotes":""},"categories":[36],"tags":[],"class_list":["post-7773","post","type-post","status-publish","format-standard","hentry","category-mn-u02"],"_links":{"self":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/7773","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/users\/8043"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/comments?post=7773"}],"version-history":[{"count":7,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/7773\/revisions"}],"predecessor-version":[{"id":21868,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/7773\/revisions\/21868"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/media?parent=7773"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/categories?post=7773"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/tags?post=7773"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}