{"id":3674,"date":"2019-07-03T07:34:31","date_gmt":"2019-07-03T12:34:31","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/matg1013\/?p=3674"},"modified":"2025-12-23T10:26:17","modified_gmt":"2025-12-23T15:26:17","slug":"s1eva2019ti_t3-vector-perpendicular-a-plano","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/algoritmos101\/mn-s1eva20\/s1eva2019ti_t3-vector-perpendicular-a-plano\/","title":{"rendered":"s1Eva2019TI_T3 Vector perpendicular a plano"},"content":{"rendered":"\n<p><strong>Ejercicio<\/strong>: <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/mn-evalua\/mn-1e20\/1eva2019ti_t3-vector-perpendicular-a-plano\/\" data-type=\"post\" data-id=\"3671\">1Eva2019TI_T3 Vector perpendicular a plano<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Literal a<\/h2>\n\n\n\n<p>Para que un vector sea perpendicular a otro, se debe cumplir que<br>V<sub>1<\/sub>.V<sub>2<\/sub> =0.<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\begin{bmatrix} 2 \\\\ -3 \\\\ a \\end{bmatrix} . \\begin{bmatrix} b \\\\ 1 \\\\ -4 \\end{bmatrix} = 0<\/span>\n\n\n\n<figure class=\"wp-block-image alignright size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"281\" height=\"289\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2019\/07\/VectoresPerpendiculares01.png\" alt=\"Vectores Perpendiculares 01\" class=\"wp-image-14174\" \/><\/figure>\n\n\n\n<p>se obtiene entonces la ecuaci\u00f3n:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>(2)(b)+(-3)(1)+(a)(-4)=0\n2b -3 -4a =0<\/code><\/pre>\n\n\n\n<p>procediendo de la misma forma con los siguientes pares de vectores:<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\begin{bmatrix} 2 \\\\ -3 \\\\ a \\end{bmatrix} . \\begin{bmatrix} 3 \\\\ c \\\\ 2 \\end{bmatrix} = 0<\/span>\n\n\n\n<p>se obtiene entonces la ecuaci\u00f3n:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>(2)(3)+(-3)(c)+(a)(2)=0\n6 -3c +2a = 0<\/code><\/pre>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\begin{bmatrix} b \\\\ 1 \\\\ -4 \\end{bmatrix} . \\begin{bmatrix} 3 \\\\ c \\\\ 2 \\end{bmatrix} = 2<\/span>\n\n\n\n<p>se obtiene entonces la ecuaci\u00f3n:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>(b)(3)+(1)(c)+(-4)(2)=2\n3b +c -8 =2<\/code><\/pre>\n\n\n\n<p>se obtiene el sistema de ecuaciones:<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\begin{cases}-4a+2b=3 \\\\ 2a-3c=-6 \\\\3b+c=10 \\end{cases}<\/span>\n\n\n\n<h2 class=\"wp-block-heading\">Literal b<\/h2>\n\n\n\n<p>Se convierte a la forma matricial Ax=B<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\begin{bmatrix} -4 &amp;&amp; 2 &amp;&amp; 0 \\\\ 2 &amp;&amp; 0 &amp;&amp; -3 \\\\ 0 &amp;&amp; 3 &amp;&amp; 1\\end{bmatrix}.\\begin{bmatrix} a \\\\b\\\\c \\end{bmatrix} = \\begin{bmatrix} 3 \\\\ -6 \\\\ 10 \\end{bmatrix} <\/span>\n\n\n\n<p>se crea la matriz aumentada:<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\begin{bmatrix} -4 &amp;&amp; 2 &amp;&amp; 0 &amp;&amp; 3 \\\\ 2 &amp;&amp; 0 &amp;&amp; -3 &amp;&amp;-6 \\\\ 0 &amp;&amp; 3 &amp;&amp; 1 &amp;&amp; 10 \\end{bmatrix}<\/span>\n\n\n\n<p>se pivotea por filas buscando hacerla diagonal dominante:<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\begin{bmatrix} -4 &amp;&amp; 2 &amp;&amp; 0 &amp;&amp; 3 \\\\ 0 &amp;&amp; 3 &amp;&amp; 1 &amp;&amp; 10 \\\\ 2 &amp;&amp; 0 &amp;&amp; -3 &amp;&amp;-6 \\end{bmatrix}<\/span>\n\n\n\n<p>se aplica el algoritmo de eliminaci\u00f3n hacia adelante:<\/p>\n\n\n\n<p>1ra Iteraci\u00f3n<\/p>\n\n\n\n<p>la eliminaci\u00f3n del primer t\u00e9rmino columna es necesario solo para la tercera fila:<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\begin{bmatrix} -4 &amp;&amp; 2 &amp;&amp; 0 &amp;&amp; 3 \\\\ 0 &amp;&amp; 3 &amp;&amp; 1 &amp;&amp; 10 \\\\ 2 -(-4)\\Big( \\frac{2}{-4}\\Big) &amp;&amp; 0-2\\Big(\\frac{2}{-4}\\Big) &amp;&amp; -3 -0\\Big(\\frac{2}{-4}\\Big) &amp;&amp;-6 -3\\Big(\\frac{2}{-4}\\Big) \\end{bmatrix}<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\begin{bmatrix} -4 &amp;&amp; 2 &amp;&amp; 0 &amp;&amp; 3 \\\\ 0 &amp;&amp; 3 &amp;&amp; 1 &amp;&amp; 10 \\\\ 0 &amp;&amp; 1 &amp;&amp; -3 &amp;&amp; -4.5 \\end{bmatrix}<\/span>\n\n\n\n<p>2da Iteraci\u00f3n<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\begin{bmatrix} -4 &amp;&amp; 2 &amp;&amp; 0 &amp;&amp; 3 \\\\ 0 &amp;&amp; 3 &amp;&amp; 1 &amp;&amp; 10 \\\\ 0 &amp;&amp; 1 -3\\Big(\\frac{1}{3}\\Big) &amp;&amp; -3-(1)\\Big(\\frac{1}{3}\\Big) &amp;&amp; -4.5-10\\Big(\\frac{1}{3}\\Big) \\end{bmatrix}<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\begin{bmatrix} -4 &amp;&amp; 2 &amp;&amp; 0 &amp;&amp; 3 \\\\ 0 &amp;&amp; 3 &amp;&amp; 1 &amp;&amp; 10 \\\\ 0 &amp;&amp; 0 &amp;&amp; -\\frac{10}{3} &amp;&amp; -7.8333 \\end{bmatrix}<\/span>\n\n\n\n<p>Aplicando eliminaci\u00f3n hacia atr\u00e1s<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>(-10\/3)c = -7.8333\nc = -7.8333(-3\/10) = 2.35\n\n3b +c = 10\nb= (10-c)\/3 = (10-2.35)\/3 = 2.55\n\n-4a +2b =3\na= (3-2b)\/(-4) = (3-2(2.55))\/(-4) = 0.525\n<\/code><\/pre>\n\n\n\n<p>como resultado, los vectores buscados:<\/p>\n\n\n\n<p>v<sub>1<\/sub> = (2,-3,0.525)<br>v<sub>2<\/sub> = (2.55,1,-4)<br>v<sub>3<\/sub> = (3,2.35,2)<\/p>\n\n\n\n<p>comprobando resultados:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&gt;&gt;&gt; np.dot((2,-3,0.525),(2.55,1,-4))\n-4.440892098500626e-16\n&gt;&gt;&gt; np.dot((2,-3,0.525),(3,2.35,2))\n-6.661338147750939e-16\n&gt;&gt;&gt; np.dot((2.55,1,-4),(3,2.35,2))\n2.0<\/code><\/pre>\n\n\n\n<p>Los dos primeros resultados son muy cercanos a cero, por lo que se los considera v\u00e1lidos<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">literal c<\/h2>\n\n\n\n<p>Para usar el m\u00e9todo de Jacobi, se despeja una de las variables de cada ecuaci\u00f3n:<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\begin{cases} a = \\frac{2b -3}{4} \\\\b = \\frac{10-c}{3} \\\\c = \\frac{2a+6}{3} \\end{cases}<\/span>\n\n\n\n<p>usando el vector x<sup>(0)<\/sup> = [0,0,0]<\/p>\n\n\n\n<p>1ra iteraci\u00f3n<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> a = \\frac{2b -3}{4} = \\frac{2(0) -3}{4} = -\\frac{3}{4} <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> b = \\frac{10-c}{3} = \\frac{10-0}{3} = \\frac{10}{3}<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> c = \\frac{2a+6}{3 }= \\frac{2(0)+6}{3} = 2<\/span>\n\n\n\n<p>x<sup>(1)<\/sup> = [-3\/4,10\/3,2]<br>diferencias = [-3\/4-0,10\/3-0,2-0] = [-3\/4,10\/3,2]<br>error = max|diferencias| = 10\/3 = 3.3333<\/p>\n\n\n\n<p>2da iteraci\u00f3n<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> a = \\frac{2b -3}{4} = \\frac{2(10\/3) -3}{4} = \\frac{11}{12} <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> b = \\frac{10-c}{3} = \\frac{10-2}{3} = \\frac{8}{3}<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> c = \\frac{2a+6}{3} = \\frac{2(-3\/4)+6}{3} = \\frac{3}{2}<\/span>\n\n\n\n<p>x<sup>(2)<\/sup> = [11\/12,8\/3,3\/2]<br>diferencias = [11\/12-(-3\/4),8\/3-10\/3,3\/2-2] = [20\/12, -2\/3, -1\/2]<br>error = max|diferencias| = 5\/3= 1.666<\/p>\n\n\n\n<p>3ra iteraci\u00f3n<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> a = \\frac{2b -3}{4} = \\frac{2(8\/3)-3}{4} = \\frac{7}{12} <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> b = \\frac{10-c}{3} = \\frac{10-3\/2}{3} = \\frac{17}{6}<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> c = \\frac{2a+6}{3} = \\frac{2(11\/12)+6}{3} = 2.6111<\/span>\n\n\n\n<p>x<sup>(3)<\/sup> = [7\/12, 17\/6, 2.6111]<br>diferencias = [7\/12-11\/12, 17\/6-8\/3, 2.6111-3\/2] = [-1\/3, 1\/6, 1.1111]<br>error = max|diferencias| = 1.1111<\/p>\n\n\n\n<p>Los errores disminuyen en cada iteraci\u00f3n, por lo que el m\u00e9todo converge,<br>si se analiza en n\u00famero de condici\u00f3n de la matriz A es 2, lo que es muy cercano a 1, por lo tanto el m\u00e9todo converge.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h4 class=\"wp-block-heading\">Revisi\u00f3n de resultados<\/h4>\n\n\n\n<p>Resultados usando algoritmos desarrollados en clase:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>matriz aumentada: \n&#091;&#091;-4.   2.   0.   3. ]\n &#091; 0.   3.   1.  10. ]\n &#091; 2.   0.  -3.  -6. ]]\nElimina hacia adelante\n&#091;&#091;-4.   2.   0.   3. ]\n &#091; 0.   3.   1.  10. ]\n &#091; 0.   1.  -3.  -4.5]]\nElimina hacia adelante\n&#091;&#091;-4.   2.   0.        3.      ]\n &#091; 0.   3.   1.       10.      ]\n &#091; 0.   0.  -3.333333 -7.833333]]\nElimina hacia adelante\n&#091;&#091;-4.   2.   0.        3.      ]\n &#091; 0.   3.   1.       10.      ]\n &#091; 0.   0.  -3.333333 -7.833333]]\nElimina hacia atras\n&#091;&#091; 1.  -0.  -0.   0.525]\n &#091; 0.   1.   0.   2.55 ]\n &#091;-0.  -0.   1.   2.35 ]]\nel vector soluci\u00f3n X es:\n&#091;&#091;0.525]\n &#091;2.55 ]\n &#091;2.35 ]]\nverificar que A.X = B\n&#091;&#091; 3.]\n &#091;10.]\n &#091;-6.]]\n\nN\u00famero de condici\u00f3n de A: 2.005894\n\nlos resultados para &#091;a,b,c]:\n&#091;0.525 2.55  2.35 ]\n\nproducto punto entre vectores:\nv12:  0.0\nv13:  1.3322676295501878e-15\nv23:  2.0<\/code><\/pre>\n\n\n\n<p>Algoritmos en Python:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# 1Eva_IT2019_T3 Vector perpendicular a plano\nimport numpy as np\n\n# INGRESO\nA = np.array(&#x5B;&#x5B;-4.,2,0],\n              &#x5B; 0., 3,1],\n              &#x5B; 2.,0,-3]])\nB = np.array(&#x5B;3.,10,-6])\n\n# PROCEDIMIENTO\nB = np.transpose(&#x5B;B])\n\ncasicero = 1e-15 # 0\nAB = np.concatenate((A,B),axis=1)\ntamano = np.shape(AB)\nn = tamano&#x5B;0]\nm = tamano&#x5B;1]\n\nprint('matriz aumentada: ')\nprint(AB)\n# Gauss elimina hacia adelante\n# tarea: verificar t\u00e9rminos cero\nfor i in range(0,n,1):\n    pivote = AB&#x5B;i,i]\n    adelante = i+1 \n    for k in range(adelante,n,1):\n        if (np.abs(pivote)&gt;=casicero):\n            factor = AB&#x5B;k,i]\/pivote\n            AB&#x5B;k,:] = AB&#x5B;k,:] - factor*AB&#x5B;i,:]\n    print('Elimina hacia adelante')\n    print(AB)\n\n# Gauss-Jordan elimina hacia atras\nultfila = n-1\nultcolumna = m-1\nfor i in range(ultfila,0-1,-1):\n    # Normaliza a 1 elemento diagonal\n    AB&#x5B;i,:] = AB&#x5B;i,:]\/AB&#x5B;i,i]\n    pivote = AB&#x5B;i,i] # uno\n    # arriba de la fila i\n    atras = i-1 \n    for k in range(atras,0-1,-1):\n        if (np.abs(AB&#x5B;k,i])&gt;=casicero):\n            factor = pivote\/AB&#x5B;k,i]\n            AB&#x5B;k,:] = AB&#x5B;k,:]*factor - AB&#x5B;i,:]\n        else:\n            factor= 'division para cero'\nprint('Elimina hacia atras')\nprint(AB)\n\nX = AB&#x5B;:,ultcolumna]\n\n# Verifica resultado\nverifica = np.dot(A,X)\n\n# SALIDA\nprint('el vector soluci\u00f3n X es:')\nprint(np.transpose(&#x5B;X]))\n\nprint('verificar que A.X = B')\nprint(np.transpose(&#x5B;verifica]))\n\nnumcond = np.linalg.cond(A)\n\n# para comprobar respuestas\n\nv1 = &#x5B;2,-3,X&#x5B;0]]\nv2 = &#x5B;X&#x5B;1],1,-4]\nv3 = &#x5B;3,X&#x5B;2],2]\n\nv12 = np.dot(v1,v2)\nv13 = np.dot(v1,v3)\nv23 = np.dot(v2,v3)\n      \n# SALIDA\nprint('\\n N\u00famero de condici\u00f3n de A: ', numcond)\n\nprint('\\n los resultados para &#x5B;a,b,c]:')\nprint(X)\n\nprint('\\n productos punto entre vectores:')\nprint('v12: ',v12)\nprint('v13: ',v13)\nprint('v23: ',v23)\n<\/pre><\/div>\n\n\n<p><strong>Tarea<\/strong>, usar el algoritmo de Jacobi usado en el taller correspondiente.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ejercicio: 1Eva2019TI_T3 Vector perpendicular a plano Literal a Para que un vector sea perpendicular a otro, se debe cumplir queV1.V2 =0. se obtiene entonces la ecuaci\u00f3n: procediendo de la misma forma con los siguientes pares de vectores: se obtiene entonces la ecuaci\u00f3n: se obtiene entonces la ecuaci\u00f3n: se obtiene el sistema de ecuaciones: Literal b [&hellip;]<\/p>\n","protected":false},"author":8043,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"wp-custom-template-entrada-mn-ejemplo","format":"standard","meta":{"footnotes":""},"categories":[45],"tags":[58,54],"class_list":["post-3674","post","type-post","status-publish","format-standard","hentry","category-mn-s1eva20","tag-ejemplos-python","tag-mnumericos"],"_links":{"self":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/3674","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=3674"}],"version-history":[{"count":4,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/3674\/revisions"}],"predecessor-version":[{"id":18792,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/3674\/revisions\/18792"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/media?parent=3674"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/categories?post=3674"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/tags?post=3674"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}