{"id":5288,"date":"2024-11-22T14:30:42","date_gmt":"2024-11-22T20:30:42","guid":{"rendered":"https:\/\/blogceta.zaragoza.unam.mx\/mnumericos\/?page_id=5288"},"modified":"2025-03-25T11:56:22","modified_gmt":"2025-03-25T17:56:22","slug":"lecm5","status":"publish","type":"page","link":"https:\/\/blogceta.zaragoza.unam.mx\/mnumericos\/l-m\/lecm5\/","title":{"rendered":"lecm5 Funciones Especiales"},"content":{"rendered":"\n<p>En las lecciones anteriores se ha observado que MATLAB cuenta con varias instrucciones para gr\u00e1ficos y c\u00e1lculos matem\u00e1ticos simples. No obstante, tambi\u00e9n tiene otra colecci\u00f3n de funciones predefinidas. Una de sus propiedades importantes es que operan directamente sobre cantidades escalares, vectoriales y matriciales. Por ejemplo, intenta con la matriz<\/p>\n\n\n\n<p>A = [4 9; 25 81]<\/p>\n\n\n\n<p>evaluar log(A)<br>El resultado es el c\u00e1lculo del logaritmo natural para cada elemento como si se hubiera aplicado a un escalar.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/mimatlab.files.wordpress.com\/2019\/02\/figm16.jpg?w=295&amp;h=300\" alt=\"\" class=\"wp-image-84\" \/><\/figure><\/div>\n\n\n<p>Para indicar que la funci\u00f3n logaritmo aplica a la matriz completa se debe indicar con una m al final del nombre de la funci\u00f3n.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">&gt;&gt; logm(A)\n    ans =\n        0.3119 0.4642\n        1.2894 4.2833<\/pre>\n\n\n\n<p>La mayor\u00eda de las funciones, como sqrt, abs, exp, operan de la misma forma para cada elemento o para un arreglo.<br>Para la funci\u00f3n exponencial y la ra\u00edz cuadrada que ya conocimos, se aplica lo mismo.<br>La respuesta de Matlab para estos c\u00e1lculos es<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">&gt;&gt; exp(A)\n    ans =\n    1.0e+035 *\n       0.0000 0.0000\n       0.0000 1.5061<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">&gt;&gt; sqrt(A)\n    ans =\n        2 3\n        5 9<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">&gt;&gt; expm(A)\n     ans =\n       1.0e+036 *\n         0.0861 0.2749\n         0.7636 2.4378<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">&gt; sqrtm(A)\n    ans =\n        1.3620 0.8787\n        2.4409 8.8800<\/pre>\n\n\n\n<p>Aunque no todas las funciones que aplican para un elemento est\u00e1n definidas para una matriz<\/p>\n\n\n\n<p>&gt;&gt; sin(A)<br>ans =<br>-0.7568 0.4121<br>-0.1324 \u2013 0.6299<\/p>\n\n\n\n<p>&gt;&gt; sinm(A)<br>??? Undefined command\/function \u2018sinm\u2019.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">abs(A)\n    ans =\n         4 9\n        25 81\n\n&gt;&gt; absm(A)\n??? Undefined command\/function 'absm'<\/pre>\n\n\n\n<h2>Otras funciones predefinidas para matrices son:<\/h2>\n\n\n\n<p>inv(A)<br>es una funci\u00f3n que calcula la inversa de la matriz. Tambi\u00e9n se obtiene la soluci\u00f3n al emplear el operador de divisi\u00f3n matricial a la izquierda, x = A \\ b.<\/p>\n\n\n\n<p>det(A)<br>calcula el determinante de la matriz cuadrada A<\/p>\n\n\n\n<p>eig(A)<br>calcula los valores propios asociados con la matriz cuadrada A.<\/p>\n\n\n\n<p>lu (A)<br>calcula la factorizaci\u00f3n LU de la matriz A.<\/p>\n\n\n\n<p>qr(A)<br>calcula la factorizaci\u00f3n QR de la matriz A.<\/p>\n\n\n\n<p>svd(A)<br>calcula la descomposici\u00f3n en valores singulares de la matriz A.<\/p>\n\n\n\n<p>rank(A)<br>devuelve el rango de la matriz A.<\/p>\n\n\n\n<p>cond(A)<br>devuelve el n\u00famero de condici\u00f3n de A.<\/p>\n\n\n\n<p>norm(A)<br>calcula la norma de la matriz A.<\/p>\n\n\n\n<p>poly(A)<br>encuentra el polinomio caracter\u00edstico de la matriz A.<\/p>\n\n\n\n<p>v=A(1,:)<\/p>\n\n\n\n<p>n=min(v)<\/p>\n\n\n\n<p>m=max(v)-min(v)<\/p>\n\n\n\n<p>length(v)<br>Indica el n\u00famero de elementos del vector v<\/p>\n\n\n\n<p>diag(v)<br>crea una matriz cuadrada con los elementos de v en la diagonal<\/p>\n\n\n\n<p>ones(n)<br>crea una matriz cuadrada con elementos iguales a uno<\/p>\n\n\n\n<p>zeros(n)<br>crea una matriz cuadrada con elementos iguales a cero<\/p>\n\n\n\n<p>eye(m,n)<br>crea una matriz identidad de tama\u00f1o mxn<\/p>\n\n\n\n<p>mean(A)<br>determina el valor promedio de los elementos de la matriz o vector<\/p>\n\n\n\n<p>sort(A)<br>ordena en forma ascendente los elementos de un vector<\/p>\n\n\n\n<p>sum(A)<br>suma los elementos de un vector<\/p>\n\n\n\n<p>trace(A)<br>suma los elementos de la diagonal de una matriz<\/p>\n\n\n\n<h3>Agregar columnas<\/h3>\n\n\n\n<p>A2=[6;2]<\/p>\n\n\n\n<p>A=[A, A2]<\/p>\n\n\n\n<h3>Agregar renglones<\/h3>\n\n\n\n<p>A3=[10 21 5]<\/p>\n\n\n\n<p>A=[A;A3]<\/p>\n\n\n\n<h3>Producto escalar y vectorial<\/h3>\n\n\n\n<p>a=A(1,:)<\/p>\n\n\n\n<p>b=A(2,:)&#8217;<\/p>\n\n\n\n<p>dot(a,b)<br>calcula el producto escalar de dos vectores del mismo tama\u00f1o<\/p>\n\n\n\n<p>cross(a,b)<br>calcula el producto vectorial de dos vectores del mismo tama\u00f1o<\/p>\n\n\n\n<h2 class=\"has-text-align-center has-text-color\" style=\"color:#e60a0a\">Nuevas Funciones<\/h2>\n\n\n\n<p>Para declarar nuevas funciones se pueden utilizar el comando <strong>inline<\/strong>, una funci\u00f3n an\u00f3nima @(x), o una funci\u00f3n externa llamada  function a trav\u00e9s de un archivo m. Veamos unos ejemplos,<\/p>\n\n\n\n<p>Comando&nbsp;<strong>inline<\/strong><\/p>\n\n\n\n<p>Ejemplo:<\/p>\n\n\n\n<pre id=\"block-e281d9b6-4f12-47a4-9c86-ccb1daebca0a\" class=\"wp-block-preformatted\">x= linspace(4,6);\nf=inline ('1.\/(20-sqrt(x))');\ny=f(x);\nplot(x,y)<\/pre>\n\n\n\n<p>El  resultado es una funci\u00f3n cuya gr\u00e1fica se observa enseguida:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"738\" height=\"572\" src=\"https:\/\/blogceta.zaragoza.unam.mx\/mnumericos\/wp-content\/uploads\/sites\/89\/2023\/08\/imagen-14.png\" alt=\"\" class=\"wp-image-5366\" srcset=\"https:\/\/blogceta.zaragoza.unam.mx\/mnumericos\/wp-content\/uploads\/sites\/89\/2023\/08\/imagen-14.png 738w, https:\/\/blogceta.zaragoza.unam.mx\/mnumericos\/wp-content\/uploads\/sites\/89\/2023\/08\/imagen-14-300x233.png 300w\" sizes=\"(max-width: 738px) 100vw, 738px\" \/><\/figure>\n\n\n\n<p>Tambi\u00e9n se puede utilizar funci\u00f3n an\u00f3nima (function handle @)<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">mifun = @(x) x.^2-3\ndd=mifun(-2:5)\nplot(dd)<\/pre>\n\n\n\n<p>La funci\u00f3n se grafica des -2 a 5 con el siguiente resultado<\/p>\n\n\n\n<p>dd =<br><br>1 -2 -3 -2 1 6 13 22<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"743\" height=\"583\" src=\"https:\/\/blogceta.zaragoza.unam.mx\/mnumericos\/wp-content\/uploads\/sites\/89\/2023\/08\/imagen-15.png\" alt=\"\" class=\"wp-image-5368\" srcset=\"https:\/\/blogceta.zaragoza.unam.mx\/mnumericos\/wp-content\/uploads\/sites\/89\/2023\/08\/imagen-15.png 743w, https:\/\/blogceta.zaragoza.unam.mx\/mnumericos\/wp-content\/uploads\/sites\/89\/2023\/08\/imagen-15-300x235.png 300w\" sizes=\"(max-width: 743px) 100vw, 743px\" \/><\/figure>\n\n\n\n<p>Otra forma es con el comando <em>function <\/em>que debe definirse en un script. Para utilizar la funci\u00f3n se debe  llamar a la funci\u00f3n y colocar el argumento entre par\u00e9ntesis. <\/p>\n\n\n\n<p>Ejemplo<\/p>\n\n\n\n<pre id=\"block-e281d9b6-4f12-47a4-9c86-ccb1daebca0a\" class=\"wp-block-preformatted\">function yy = funx(x)\n  yy=x.^2-25*x-6\nend\n\norigen=funx(0)<\/pre>\n\n\n\n<p>Al guardar el archivo m se asigna el nombre de la funci\u00f3n declarada. La funci\u00f3n anterior se llama funx, y la siguiente se declara como fun1. Se pueden declarar tantas como se requieran.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"275\" height=\"127\" src=\"https:\/\/blogceta.zaragoza.unam.mx\/mnumericos\/wp-content\/uploads\/sites\/89\/2023\/08\/imagen-16.png\" alt=\"\" class=\"wp-image-5369\" \/><\/figure>\n\n\n\n<p>Para hallar el valor s\u00f3lo se utiliza el comando fun1(5) y el resultado es &#8211; 106<\/p>\n\n\n\n<p>Se debe indicar el par\u00e1metro o valor de x para generar la respuesta.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"320\" height=\"227\" src=\"https:\/\/blogceta.zaragoza.unam.mx\/mnumericos\/wp-content\/uploads\/sites\/89\/2025\/03\/imagen-39.png\" alt=\"\" class=\"wp-image-6881\" srcset=\"https:\/\/blogceta.zaragoza.unam.mx\/mnumericos\/wp-content\/uploads\/sites\/89\/2025\/03\/imagen-39.png 320w, https:\/\/blogceta.zaragoza.unam.mx\/mnumericos\/wp-content\/uploads\/sites\/89\/2025\/03\/imagen-39-300x213.png 300w\" sizes=\"(max-width: 320px) 100vw, 320px\" \/><\/figure>\n\n\n\n<h2 class=\"has-medium-pink-color has-text-color\">Tarea 5<\/h2>\n\n\n\n<p>Elabore las siguientes funciones por cualquiera de las instrucciones descritas.<\/p>\n\n\n\n<ol>\n<li>Calcular la resistencia por la Ley de Ohm R=V\/I. 120 volts y 12 amperes<\/li>\n\n\n\n<li>C\u00e1lculo de la presi\u00f3n por la ecuaci\u00f3n de gas ideal PV = nRT. 20 mol, 600 K, 50 litros<\/li>\n\n\n\n<li>Determinar el N\u00famero de Reynolds, Re. Tuber\u00eda de 1 pulgada, agua, 6 m\/s, 22\u00b0C<\/li>\n\n\n\n<li>Calcular la Presi\u00f3n de ox\u00edgeno con Vander Waals,  a 300 K, 37 litros, a = 8.78 bar.litros2\/mol2, b = 0.0845 litro\/mol. R = 0.08314 barL\/molK<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<div class=\"is-content-justification-center is-layout-flex wp-container-1 wp-block-buttons\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link has-dark-gray-color has-bright-blue-background-color has-text-color has-background wp-element-button\" href=\"https:\/\/blogceta.zaragoza.unam.mx\/mnumericos\/l-m\/\">Lecciones<\/a><\/div>\n\n\n\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link has-dark-gray-color has-yellow-background-color has-text-color has-background wp-element-button\" href=\"https:\/\/blogceta.zaragoza.unam.mx\/mnumericos\/lecm6\/\">siguiente lecci\u00f3n<\/a><\/div>\n<\/div>\n\n\n\n<!--nextpage-->\n\n\n\n<h2>Soluci\u00f3n<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"887\" height=\"272\" src=\"https:\/\/blogceta.zaragoza.unam.mx\/mnumericos\/wp-content\/uploads\/sites\/89\/2025\/03\/imagen-40.png\" alt=\"\" class=\"wp-image-6884\" srcset=\"https:\/\/blogceta.zaragoza.unam.mx\/mnumericos\/wp-content\/uploads\/sites\/89\/2025\/03\/imagen-40.png 887w, https:\/\/blogceta.zaragoza.unam.mx\/mnumericos\/wp-content\/uploads\/sites\/89\/2025\/03\/imagen-40-300x92.png 300w, https:\/\/blogceta.zaragoza.unam.mx\/mnumericos\/wp-content\/uploads\/sites\/89\/2025\/03\/imagen-40-768x236.png 768w\" sizes=\"(max-width: 887px) 100vw, 887px\" \/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>En las lecciones anteriores se ha observado que MATLAB cuenta con varias instrucciones para gr\u00e1ficos y c\u00e1lculos matem\u00e1ticos simples. No obstante, tambi\u00e9n tiene otra colecci\u00f3n de funciones predefinidas. Una de sus propiedades importantes es que operan directamente sobre cantidades escalares, vectoriales y matriciales. Por ejemplo, intenta con la matriz A = [4 9; 25 81] &hellip; <a href=\"https:\/\/blogceta.zaragoza.unam.mx\/mnumericos\/l-m\/lecm5\/\" class=\"more-link\">Contin\u00faa leyendo <span class=\"screen-reader-text\">lecm5 Funciones Especiales<\/span><\/a><\/p>\n","protected":false},"author":123458,"featured_media":0,"parent":5258,"menu_order":5,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0},"_links":{"self":[{"href":"https:\/\/blogceta.zaragoza.unam.mx\/mnumericos\/wp-json\/wp\/v2\/pages\/5288"}],"collection":[{"href":"https:\/\/blogceta.zaragoza.unam.mx\/mnumericos\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/blogceta.zaragoza.unam.mx\/mnumericos\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/blogceta.zaragoza.unam.mx\/mnumericos\/wp-json\/wp\/v2\/users\/123458"}],"replies":[{"embeddable":true,"href":"https:\/\/blogceta.zaragoza.unam.mx\/mnumericos\/wp-json\/wp\/v2\/comments?post=5288"}],"version-history":[{"count":10,"href":"https:\/\/blogceta.zaragoza.unam.mx\/mnumericos\/wp-json\/wp\/v2\/pages\/5288\/revisions"}],"predecessor-version":[{"id":6885,"href":"https:\/\/blogceta.zaragoza.unam.mx\/mnumericos\/wp-json\/wp\/v2\/pages\/5288\/revisions\/6885"}],"up":[{"embeddable":true,"href":"https:\/\/blogceta.zaragoza.unam.mx\/mnumericos\/wp-json\/wp\/v2\/pages\/5258"}],"wp:attachment":[{"href":"https:\/\/blogceta.zaragoza.unam.mx\/mnumericos\/wp-json\/wp\/v2\/media?parent=5288"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}