{"id":12748,"date":"2017-10-10T05:47:30","date_gmt":"2017-10-10T10:47:30","guid":{"rendered":"https:\/\/blog.espol.edu.ec\/algoritmos101\/?page_id=12748"},"modified":"2025-12-16T07:13:56","modified_gmt":"2025-12-16T12:13:56","slug":"resumen-numpy","status":"publish","type":"page","link":"https:\/\/blog.espol.edu.ec\/algoritmos101\/mnumericos\/mn-recursos\/resumen-numpy\/","title":{"rendered":"Resumen Numpy - Vectores y matrices"},"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=\"#vectores\">Vectores<\/a><\/p>\n\n\n\n<p><a href=\"#matrices\">Matrices<\/a><\/p>\n\n\n\n<p><a href=\"#otras\" data-type=\"internal\" data-id=\"#otras\">Otras Instrucciones<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<p>Resumen de algunas funciones para vectores y matrices como arreglos en la librer\u00eda Numpy de Python, usadas en el curso para facilitan el c\u00e1lculo num\u00e9rico. El orden de las instrucciones es el que aparece en las entradas del blog.<\/p>\n\n\n\n<p>Lo primero es hacer el llamado a las librer\u00edas con el alias 'np'<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import numpy as np<\/code><\/pre>\n\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=\"#vectores\">Vectores<\/a><\/p>\n\n\n\n<p><a href=\"#matrices\">Matrices<\/a><\/p>\n\n\n\n<p><a href=\"#otras\" data-type=\"internal\" data-id=\"#otras\">Otras Instrucciones<\/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=\"vectores\">Vectores<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"puntos-espaciados-entre-a-b-np-linspace\">puntos espaciados entre [a,b] - np.linspace()<\/h3>\n\n\n\n<p>para obtener puntos en el rango [a,b] para una cantidad de tramos. Se obtienen tramos+1 puntos .<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; gutter: false; title: ; notranslate\" title=\"\">\na = 1\nb = 2\ntramos = 4\nx = np.linspace(a,b,tramos+1)\n<\/pre><\/div>\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; gutter: false; title: ; notranslate\" title=\"\">\n&gt;&gt;&gt; x\narray(&#x5B; 1.  ,  1.25,  1.5 ,  1.75,  2.  ])\n<\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\" id=\"rango-de-valores-en-vector-np-arange-a-b-dt\">rango de valores en vector - np.arange(a,b,dt)<\/h3>\n\n\n\n<p>crea un vector con valores en el rango [a,b) y espaciados dt.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; gutter: false; title: ; notranslate\" title=\"\">\nt=np.arange(0,10,2)\n&gt;&gt;&gt; t\narray(&#x5B;0, 2, 4, 6, 8])\n<\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\" id=\"transponer-vector-np-transpose\">transponer vector - np.transpose()<\/h3>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; gutter: false; title: ; notranslate\" title=\"\">\n&gt;&gt;&gt; fila = np.array(&#x5B;1,2,3])\n&gt;&gt;&gt; columna = np.transpose(&#x5B;fila])\n&gt;&gt;&gt; columna\narray(&#x5B;&#x5B;1],\n       &#x5B;2],\n       &#x5B;3]])\n<\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\" id=\"indices-para-ordenar-np-argsort\">indices para ordenar - np.argsort()<\/h3>\n\n\n\n<p>para ordenar por una columna espec\u00edfica:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>se obtiene un vector con la columna que se requiere ordenar: tabla[:,0]<\/li>\n\n\n\n<li>con el vector se determinan los \u00edndices para ordenar la tabla por filas: np.argsort()<\/li>\n\n\n\n<li>se aplica los \u00edndices a una copia de la matriz: tabla[orden]<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; gutter: false; title: ; notranslate\" title=\"\">\ntabla = np.array(&#x5B;&#x5B;5,3],\n                  &#x5B;4,2],\n                  &#x5B;3,1],\n                  &#x5B;2,4],\n                  &#x5B;1,5]])\n# ordenar por primera columna\nreferencia = tabla&#x5B;:,0]\norden = np.argsort(referencia)\nordenada = tabla&#x5B;orden]\nprint(orden)\nprint(ordenada)\n<\/pre><\/div>\n\n\n<p>resultado:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#091;4 3 2 1 0]\n&#091;&#091;1 5]\n &#091;2 4]\n &#091;3 1]\n &#091;4 2]\n &#091;5 3]]\n<\/code><\/pre>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; gutter: false; title: ; notranslate\" title=\"\">\n# ordenar por segunda columna\nreferencia = tabla&#x5B;:,1]\norden = np.argsort(referencia)\nordenada = tabla&#x5B;orden]\nprint(orden)\nprint(ordenada)\n<\/pre><\/div>\n\n\n<p>resultado:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#091;2 1 0 3 4]\n&#091;&#091;3 1]\n &#091;4 2]\n &#091;5 3]\n &#091;2 4]\n &#091;1 5]]<\/code><\/pre>\n\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=\"#vectores\">Vectores<\/a><\/p>\n\n\n\n<p><a href=\"#matrices\">Matrices<\/a><\/p>\n\n\n\n<p><a href=\"#otras\" data-type=\"internal\" data-id=\"#otras\">Otras Instrucciones<\/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=\"matrices\">Matrices en Numpy<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"concatenar-np-concatenate-a-b-axis-1\">concatenar- np.concatenate((A,b), axis=1)<\/h3>\n\n\n\n<p>concatenar usa el par\u00e1metro axis: 0 para filas, 1 para columnas.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; gutter: false; title: ; notranslate\" title=\"\">\nimport numpy as np\ncantidad = np.array(&#x5B;&#x5B;4,2,5],\n                     &#x5B;2,5,8],\n                     &#x5B;5,4,3]])\npagado = np.array(&#x5B;&#x5B;60.70],\n                   &#x5B;92.90],\n                   &#x5B;56.30]])\nmatriz = np.concatenate((cantidad,pagado),axis=1)\n<\/pre><\/div>\n\n\n<pre class=\"wp-block-code\"><code>&gt;&gt;&gt; matriz\narray(&#091;&#091;  4. ,   2. ,   5. ,  60.7],\n       &#091;  2. ,   5. ,   8. ,  92.9],\n       &#091;  5. ,   4. ,   3. ,  56.3]])<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"resolver-sistema-de-ecuaciones-np-linalg-solve-a-b\">resolver sistema de ecuaciones - np.linalg.solve(A,B)<\/h3>\n\n\n\n<p>Resuelve el sistema de ecuaciones dado por una matriz A y un vector B. siendo, por ejemplo:<\/p>\n\n\n\n<p class=\"has-text-align-center\"> 0 =  c<sub>1<\/sub> +  c<sub>2<\/sub><\/p>\n\n\n\n<p class=\"has-text-align-center\">-5 = -c<sub>1<\/sub> - 2c<sub>2<\/sub><\/p>\n\n\n\n<p class=\"has-text-align-center\">c<sub>1<\/sub> = -5 <\/p>\n\n\n\n<p class=\"has-text-align-center\">c<sub>2<\/sub> = 5<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; gutter: false; title: ; notranslate\" title=\"\">\n&gt;&gt;&gt; A = &#x5B;&#x5B; 1, 1],\n     &#x5B;-1,-2]]\n&gt;&gt;&gt; B = &#x5B;0,-5]\n&gt;&gt;&gt; np.linalg.solve(A,B)\narray(&#x5B;-5.,  5.])\n&gt;&gt;&gt;\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=\"#vectores\">Vectores<\/a><\/p>\n\n\n\n<p><a href=\"#matrices\">Matrices<\/a><\/p>\n\n\n\n<p><a href=\"#otras\" data-type=\"internal\" data-id=\"#otras\">Otras Instrucciones<\/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=\"otras\">Otras instrucciones<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>np.pi<\/td><td>constante con valor \u03c0 <br>&gt;&gt; np.pi<br>3.141592653589793<\/td><\/tr><tr><td>np.sin(t)<br>np.cos(t)<\/td><td>funci\u00f3n trigonom\u00e9trica en radianes. <br>La variable t puede ser un escalar o un arreglo. <br>&gt;&gt;&gt; t=0.65 <br>&gt;&gt;&gt; np.sin(0.65) 0.60518640573603955 <br>&gt;&gt;&gt; t=[0, 0.3, 0.6] <br>&gt;&gt;&gt; np.sin(t) array([ 0. , 0.29552021, 0.56464247])<\/td><\/tr><tr><td>np.exp(x)<\/td><td>e<sup>x<\/sup><\/td><\/tr><tr><td>np.abs()<\/td><td>obtiene el valor absoluto de un n\u00famero. En el caso de un n\u00famero complejo obtiene la parte real.<\/td><\/tr><tr><td>np.real(complejo) np.imag(complejo)<\/td><td>obtiene la parte real de los n\u00fameros complejos en un vector. Se aplica lo mismo para la parte imaginaria del n\u00famero complejo.<\/td><\/tr><tr><td>complex(a,b)<\/td><td>crea el n\u00famero complejo a partir de los valores de a y b. a=2<br>b=3<br>el resultado es: 2+3j<\/td><\/tr><tr><td>np.piecewise(t, t&gt;=donde, [1,0])<\/td><td>funci\u00f3n que crea a partir de t, los valores de la condici\u00f3n t&gt;=donde, ubicando los valores de 1, para otro caso es 0. <br>Usada en la funci\u00f3n escal\u00f3n.<\/td><\/tr><tr><td>np.roots([a,b,c])<\/td><td>obtiene las ra\u00edces del polinomio: <br>ax<sup>2<\/sup>+bx+c x<sup>2<\/sup> + 3 x + 2 = (x+1)(x+2) <br>&gt;&gt;&gt; np.roots([1,3,2]) <br>array([-2., -1.])<\/td><\/tr><tr><td><\/td><td><\/td><\/tr><\/tbody><\/table><\/figure>\n\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=\"#vectores\">Vectores<\/a><\/p>\n\n\n\n<p><a href=\"#matrices\">Matrices<\/a><\/p>\n\n\n\n<p><a href=\"#otras\" data-type=\"internal\" data-id=\"#otras\">Otras Instrucciones<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n","protected":false},"excerpt":{"rendered":"<p>Vectores Matrices Otras Instrucciones Resumen de algunas funciones para vectores y matrices como arreglos en la librer\u00eda Numpy de Python, usadas en el curso para facilitan el c\u00e1lculo num\u00e9rico. El orden de las instrucciones es el que aparece en las entradas del blog. Lo primero es hacer el llamado a las librer\u00edas con el alias [&hellip;]<\/p>\n","protected":false},"author":8043,"featured_media":0,"parent":12739,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"wp-custom-template-p-ginas-mn","meta":{"footnotes":""},"class_list":["post-12748","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/pages\/12748","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/types\/page"}],"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=12748"}],"version-history":[{"count":8,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/pages\/12748\/revisions"}],"predecessor-version":[{"id":13937,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/pages\/12748\/revisions\/13937"}],"up":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/pages\/12739"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/media?parent=12748"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}