{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Introducción a la Programación en MATLAB (C2)\n", "\n", "Mauricio Tejada\n", "\n", "ILADES - Universidad Alberto Hurtado\n", "\n", "Agosto 2017\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Contenidos\n", "\n", "- [Primeros Pasos en Matlab](#2.-Primeros-Pasos-en-Matlab)\n", " - [Menú, Ventanas y Directorios](#2.1-Menú,-Ventanas-y-Directorios)\n", " - [Ayuda](#2.2-Ayuda)\n", " - [Variables](#2.3-Variables)\n", " - [Imprimir resultados en pantalla](#2.4-Imprimir-Resultados-en-Pantalla)\n", " - [Elementos Básicos para Graficar](#2.5-Elementos-Básicos-para-Graficar)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 2. Primeros Pasos en Matlab\n", "\n", "**Matlab** (abreviatura de MATrix LABoratory, \"laboratorio de matrices\") es uno de los paquetes más populares para realizar análisis numérico. \n", "\n", "Ofrece un *entorno de desarrollo integrado (IDE)* con un *lenguaje de programación propio (lenguaje M)*.\n", "\n", "El lenguaje M es un lenguaje de *alto nivel (high level)*:\n", "- Simple de aprender y usar. \n", "- El costo está en los tiempos de ejecución. \n", "- Si bien las computadoras que tenemos hacen que dicho costo se haya reducido, éste lamentablemente no se ha eliminado y depende del problema que tengamos.\n", "\n", "> Un lenguaje de *programación de alto nivel* se caracteriza por expresar el algoritmo de una manera adecuada a la capacidad cognitiva humana, en lugar de la capacidad ejecutora de las máquinas. \n", ">\n", ">Un lenguaje de *programación de bajo nivel* es aquel en el que sus instrucciones ejercen un control directo sobre el hardware y están condicionados por la estructura física de las computadoras que lo soportan. \n", ">\n", ">El uso de la palabra bajo nivel no implica que el lenguaje sea menos potente que un lenguaje de alto nivel, sino que se refiere a la reducida abstracción entre el lenguaje y el hardware \n", ">\n", ">*Wikipedia*" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 2.1 Menú, Ventanas y Directorios\n", "\n", "Interfaz gráfica del usuario (versión 2015b):\n", "\n", "![Photo](matlabgui.png)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Matlab almacena todo en la memoria RAM del computador. Para liberar la memoria se usan los siguientes comandos:\n", "\n", "* La memoria se limpia con el comando `clear`\n", "* La pantalla se limpia con el comando `clc`.\n", "\n", "Matlab usa el espacio de un directorio como área de trabajo. Dicho directorio se denomina *directorio de trabajo* y todos los archivos (que no formen parte del paquete) deber estar en dicho directorio.\n", "\n", "* Usar `pwd` para conocer el directorio de trabajo actual.\n", "* Usar `cd('directorio')` para cambiar el directorio de trabajo." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "clear all;" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "ans =\n", "\n", " '/Users/mauriciotejada/Dropbox/MT/Teaching/MAE - Matlab/Nootebooks'\n" ] } ], "source": [ "pwd" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "ans =\n", "\n", " '/Users/mauriciotejada/Dropbox'\n" ] } ], "source": [ "cd('/Users/mauriciotejada/Dropbox/');\n", "pwd" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": true }, "outputs": [], "source": [ "cd('/Users/mauriciotejada/Dropbox/MT/Teaching/MAE - Matlab/Nootebooks');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Los usuarios de Windows deben usar las rutas en formato `C:\\Dir\\Subdir\\`\n", "\n", "Existen ocasiones en que podemos tener algún procedimiento que usamos regularmente. Para usarlo en cada proyecto tendríamos que copiarlo en cada carpeta de trabajo. *No parece eficiente ya que estaríamos duplicando archivos*. Un mejor enfoque es llamar el directorio de procedimientos cada vez que los necesitemos.\n", "\n", "- Usar `addpath('directorio')` adicionar temporalmente un directorio en el path de búsqueda de Matlab." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 2.2 Ayuda\n", "\n", "Más allá de este curso introductorio, la mejor forma de aprender Matlab es a través de la experimentación. Las dos fuentes más importantes para referencia: \n", "1. Documentación de Matlab (que es clara, extensa y amigable). \n", "2. Google (existen literalmente millones de códigos en la web que resuelven distintos problemas).\n", "\n", "Existen distintas formas de acceder a la documentación de Matlab.\n", "\n", "- Ayuda: `help`\n", "- Ayuda sobre un comando o procedimiento particular: `help comando`\n", "- Buscar ayuda usando una palabra clave: `lookfor('palabra clave')`" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "MEAN Average or mean value.\n", " S = MEAN(X) is the mean value of the elements in X if X is a vector. \n", " For matrices, S is a row vector containing the mean value of each \n", " column. \n", " For N-D arrays, S is the mean value of the elements along the first \n", " array dimension whose size does not equal 1.\n", " \n", " MEAN(X,DIM) takes the mean along the dimension DIM of X.\n", " \n", " S = MEAN(...,TYPE) specifies the type in which the mean is performed, \n", " and the type of S. Available options are:\n", " \n", " 'double' - S has class double for any input X\n", " 'native' - S has the same class as X\n", " 'default' - If X is floating point, that is double or single,\n", " S has the same class as X. If X is not floating point, \n", " S has class double.\n", " \n", " S = MEAN(...,NANFLAG) specifies how NaN (Not-A-Number) values are \n", " treated. The default is 'includenan':\n", " \n", " 'includenan' - the mean of a vector containing NaN values is also NaN.\n", " 'omitnan' - the mean of a vector containing NaN values is the mean \n", " of all its non-NaN elements. If all elements are NaN,\n", " the result is NaN.\n", " \n", " Example:\n", " X = [1 2 3; 3 3 6; 4 6 8; 4 7 7]\n", " mean(X,1)\n", " mean(X,2)\n", " \n", " Class support for input X:\n", " float: double, single\n", " integer: uint8, int8, uint16, int16, uint32,\n", " int32, uint64, int64\n", " \n", " See also MEDIAN, STD, MIN, MAX, VAR, COV, MODE.\n", "\n", " Reference page in Doc Center\n", " doc mean\n", "\n", " Other functions named mean\n", "\n", " codistributed/mean fints/mean tall/mean\n", " datetime/mean gpuArray/mean timeseries/mean\n", " duration/mean ProbDistUnivParam/mean\n" ] } ], "source": [ "help mean" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "movstd - Moving standard deviation value.\n", "std - Standard deviation.\n", "corr2cov - Converts standard deviation and correlation to covariance.\n", "cov2corr - Converts covariance to standard deviation and correlation coefficient.\n", "std2 - Standard deviation of matrix elements.\n", "stdfilt - Local standard deviation of image.\n", "stdm - Standard deviation for geographic points\n", "prestd - Preprocesses the data so that the mean is 0 and the standard deviation is 1.\n", "trastd - Preprocesses data using a precalculated mean and standard deviation.\n", "dspblkstd2 - DSP System Toolbox Standard deviation block helper function.\n", "nanstd - Standard deviation, ignoring NaNs.\n", "schart - S chart for monitoring the standard deviation.\n" ] } ], "source": [ "lookfor('standard deviation')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Para conocer las funciones elementales de Matlab usamos `help elfun`." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Elementary math functions.\n", " \n", " Trigonometric.\n", " sin - Sine.\n", " sind - Sine of argument in degrees.\n", " sinh - Hyperbolic sine.\n", " asin - Inverse sine.\n", " asind - Inverse sine, result in degrees.\n", " asinh - Inverse hyperbolic sine.\n", " cos - Cosine.\n", " cosd - Cosine of argument in degrees.\n", " cosh - Hyperbolic cosine.\n", " acos - Inverse cosine.\n", " acosd - Inverse cosine, result in degrees.\n", " acosh - Inverse hyperbolic cosine.\n", " tan - Tangent.\n", " tand - Tangent of argument in degrees.\n", " tanh - Hyperbolic tangent.\n", " atan - Inverse tangent.\n", " atand - Inverse tangent, result in degrees.\n", " atan2 - Four quadrant inverse tangent.\n", " atan2d - Four quadrant inverse tangent, result in degrees.\n", " atanh - Inverse hyperbolic tangent.\n", " sec - Secant.\n", " secd - Secant of argument in degrees.\n", " sech - Hyperbolic secant.\n", " asec - Inverse secant.\n", " asecd - Inverse secant, result in degrees.\n", " asech - Inverse hyperbolic secant.\n", " csc - Cosecant.\n", " cscd - Cosecant of argument in degrees.\n", " csch - Hyperbolic cosecant.\n", " acsc - Inverse cosecant.\n", " acscd - Inverse cosecant, result in degrees.\n", " acsch - Inverse hyperbolic cosecant.\n", " cot - Cotangent.\n", " cotd - Cotangent of argument in degrees.\n", " coth - Hyperbolic cotangent.\n", " acot - Inverse cotangent.\n", " acotd - Inverse cotangent, result in degrees.\n", " acoth - Inverse hyperbolic cotangent.\n", " hypot - Square root of sum of squares.\n", " deg2rad - Convert angles from degrees to radians.\n", " rad2deg - Convert angles from radians to degrees.\n", " \n", " Exponential.\n", " exp - Exponential.\n", " expm1 - Compute exp(x)-1 accurately.\n", " log - Natural logarithm.\n", " log1p - Compute log(1+x) accurately.\n", " log10 - Common (base 10) logarithm.\n", " log2 - Base 2 logarithm and dissect floating point number.\n", " pow2 - Base 2 power and scale floating point number.\n", " realpow - Power that will error out on complex result.\n", " reallog - Natural logarithm of real number.\n", " realsqrt - Square root of number greater than or equal to zero.\n", " sqrt - Square root.\n", " nthroot - Real n-th root of real numbers.\n", " nextpow2 - Next higher power of 2.\n", " \n", " Complex.\n", " abs - Absolute value.\n", " angle - Phase angle.\n", " complex - Construct complex data from real and imaginary parts.\n", " conj - Complex conjugate.\n", " imag - Complex imaginary part.\n", " real - Complex real part.\n", " unwrap - Unwrap phase angle.\n", " isreal - True for real array.\n", " cplxpair - Sort numbers into complex conjugate pairs.\n", " \n", " Rounding and remainder.\n", " fix - Round towards zero.\n", " floor - Round towards minus infinity.\n", " ceil - Round towards plus infinity.\n", " round - Round towards nearest integer.\n", " mod - Modulus (signed remainder after division).\n", " rem - Remainder after division.\n", " sign - Signum.\n" ] } ], "source": [ "help elfun" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 2.3 Variables\n", "\n", "Matlab es un lenguaje basado en expresiones. \n", "\n", "Las expresiones que introducimos mediante el teclado son interpretadas y evaluadas. \n", "\n", "Cada expresión genera algún tipo de *output* que puede ser asignado en una *variable*. La asignación se realiza de la siguiente forma:\n", "\n", "```\n", "nombrevariable = expresión\n", "```\n", "\n", "Si se introduce alguna expresión pero no se define un nombre para la variable, Matlab asigna la expresión a una variable auxiliar temporal denominada `ans`.\n", "\n", "Todas las variables son almacenadas en la memoria RAM del computador por lo que se pierden en cuanto uno sale y apaga Matlab.\n", "\n", "Es posible limpiar la memoria usando: \n", "\n", "```\n", "clear nombrevariable1 nombrevariable1 ...\n", "```\n", "\n", "Algunas reglas al elegir los nombres de las variables:\n", "\n", "- Los nombres deben empezar con una letra y pueden contener letras, números y `_`.\n", "- Matlab es sensible a mayúsculas y minúsculas (`x` es diferente de `X`).\n", "\n", "Tipos básicos de variables:\n", "\n", "- Numéricas (precisión doble - 64 bits, max $3.4x10^{38}$ y min $-3.4x10^{38}$). Reales o Imaginarias.\n", "- Textos (vectores en lo que cada celda tiene un código Unicode de 0 a 65536).\n", "- Estructura (tipo de dato que agrupa información contenida en celdas, numéricas o de texto)\n", "\n", "Asignación de variables numéricas:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "x =\n", "\n", " 2.5000\n", "\n", "\n", "y =\n", "\n", " 4\n", "\n", "\n", "X =\n", "\n", " 5\n", "\n", "\n", "NombreLargo =\n", "\n", " 4\n", "\n", "\n", "vaim =\n", "\n", " 2.0000 + 5.0000i\n" ] } ], "source": [ "x = 2.5\n", "y = 4\n", "X = 5\n", "NombreLargo = 4\n", "vaim = 2+5i" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Las de tipo texto se asignan usando `''`:" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Y_1 =\n", "\n", " 'Texto'\n", "\n", "\n", "VaxTexto =\n", "\n", " 'Pueden incluirse Espacios'\n" ] } ], "source": [ "Y_1 = 'Texto'\n", "VaxTexto = 'Pueden incluirse Espacios'" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Las estructura se crean definiendo un nombre para la estructura seguido de un punto y a continuación el nombre de la celda: `NombreEstrutura.NombreCelda = expresión`:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "NombreEst = \n", "\n", " struct with fields:\n", "\n", " x: 6.5000\n", " y: 'Otro Texto'\n", " X: 20\n", "\n", "\n", "ans =\n", "\n", " 20\n" ] } ], "source": [ "NombreEst.x = x+y;\n", "NombreEst.y = 'Otro Texto';\n", "NombreEst.X = 20;\n", "\n", "NombreEst\n", "\n", "NombreEst.X" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Adicionalmente se puede crear una variable vacía. El objetivo es reservar espacio en la memoria." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "VarVacia =\n", "\n", " []\n" ] } ], "source": [ "VarVacia = []" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Para saber qué objetos se han creado se usan los comandos `who` y `whos`. El primero muestra los nombres de todas las variables mientras que el segundo además da información detallada del tipo y el tamaño." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Your variables are:\n", "\n", "NombreEst VarVacia X ans x \n", "NombreLargo VaxTexto Y_1 vaim y\n" ] } ], "source": [ "who" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Name Size Bytes Class Attributes\n", "\n", " NombreEst 1x1 564 struct \n", " NombreLargo 1x1 8 double \n", " VarVacia 0x0 0 double \n", " VaxTexto 1x25 50 char \n", " X 1x1 8 double \n", " Y_1 1x5 10 char \n", " ans 1x1 8 double \n", " vaim 1x1 16 double complex \n", " x 1x1 8 double \n", " y 1x1 8 double\n" ] } ], "source": [ "whos" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "Además las variables puedes ser locales o globales. \n", "- Las variables serán locales si su valor queda en memoria sólo para la sesión o procedimiento con que se esté trabajando. \n", "- En el caso de las variables globales, su valor se mantiene para otras sesiones o procedimientos. \n", "\n", "Por definición todas las variables que están dentro una función son locales (más adelante quedará más claro). \n", "\n", "Para declarar una variable como global se usa:\n", "\n", "```\n", "global NombreVariable1 NombreVAriable2 ...\n", "```" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[\bWarning: The value of local variables may have been changed to match the\n", "globals. Future versions of MATLAB will require that you declare a variable to\n", "be global before you use that variable.]\b \n", "[\b> In pymat_eval (line 31)\n", " In matlabserver (line 24)]\b \n", "[\bWarning: The value of local variables may have been changed to match the\n", "globals. Future versions of MATLAB will require that you declare a variable to\n", "be global before you use that variable.]\b \n", "[\b> In pymat_eval (line 31)\n", " In matlabserver (line 24)]\b \n", " Name Size Bytes Class Attributes\n", "\n", " NombreEst 1x1 564 struct \n", " NombreLargo 1x1 8 double \n", " VarVacia 0x0 0 double \n", " VaxTexto 1x25 50 char \n", " X 1x1 8 double \n", " Y_1 1x5 10 char \n", " ans 1x1 8 double \n", " vaim 1x1 16 double complex \n", " x 1x1 8 double global \n", " y 1x1 8 double global\n" ] } ], "source": [ "global x y;\n", "whos;" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 2.4 Imprimir Resultados en Pantalla\n", "\n", "Para mostrar el valor de las variables en pantalla usamos `disp()` y para imprimirlos en pantalla con un formato determinado usamos `fprintf()`.\n", "\n", "El comando `disp()`muestra en pantalla el valor asignado a una variable (numérica o texto). Una alternativa es simplemente escribir el nombre de la variable sin el punto y coma.\n", "\n", "Algunos ejemplos:" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "4\n", "\n", "Texto\n", "*** Otra forma ***\n", "---------\n" ] } ], "source": [ "disp(NombreLargo);\n", "\n", "disp(Y_1);\n", "disp('*** Otra forma ***'); % Note que esta es una variable de texto \n", " % definida directamente para disp\n", "disp('---------') " ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2.4599\n" ] } ], "source": [ "h = 2.45986768768;\n", "disp(h);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "El comando `fprintf` se usa también para mostrar en pantalla información sobre el valor asignado a determinadas variables, con la diferencia que éste comando permite dar formato a la visualización e introducir la misma en dentro un texto determinado. \n", "\n", "La asignación dentro el texto se inicia con `%` (si bien este símbolo es también usado para comentarios en el código, aquí su uso es diferente). \n", "\n", "Dentro un texto se necesitan introducir tantos signos `%` como valores de variables se quieran mostrar seguidos por un carácter que representa el tipo de valor a visualizar:\n", "\n", "- `%s` Imprime texto\n", "- `%c` Imprime un único carácter.\n", "- `%d` Imprime un número (completo).\n", "- `%f` Imprime un número con un número determinado de decimales (ejemplo `%.2f` imprime dos decimales)\n", "\n", "Otras opciones de formato son:\n", "\n", "- `\\n` Imprime una nueva línea (Enter)\n", "- `\\t` Imprime una tabulación (Tab)\n", "- `\\\\` Imprime \\\\.\n", "- `%%` Imprime % (Un sólo % sirve para comentarios).\n", "\n", "Algunos ejemplos:" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Mi nombre es Mauricio Tejada\n", "Mi oficina es la 211 y mi email es matejada@uahurtado.cl\n" ] } ], "source": [ "prof_name = 'Mauricio Tejada';\n", "prof_of = 211;\n", "prof_email = 'matejada@uahurtado.cl';\n", "\n", "fprintf('Mi nombre es %s\\n', prof_name); \n", "fprintf('Mi oficina es la %d y mi email es %s\\n', prof_of, prof_email); % Note que % en este contexto no es nota. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Ahora usando decimales:" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Numero completo 3.624500e+00\n", "Numero con 2 decimales 3.62\n", "Numero con 3 decimales 3.624\n", "Numero sin decimales (entero) 4\n" ] } ], "source": [ "N = 3.6245;\n", "fprintf('Numero completo %d\\n', N); \n", "fprintf('Numero con 2 decimales %.2f\\n', N); \n", "fprintf('Numero con 3 decimales %.3f\\n', N); \n", "fprintf('Numero sin decimales (entero) %.0f\\n', N); " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 2.5 Elementos Básicos para Graficar\n", "\n", "Matlab es una herramienta poderosa y útil para presentar resultados de forma gráfica. \n", "\n", "Los elementos básicos para graficar y dar formato a un gráfico son:\n", "\n", "- `figure`: Abre una ventana de gráficos.\n", "- `plot`: Graficar.\n", "- `title`: Título del gráfico.\n", "- `xlabel`: Etiqueta del eje x.\n", "- `ylabel`: Etiqueta del eje y.\n", "- `legend`: Manejo y definición de la leyenda del gráfico.\n", "- `grid`: Cuadrícula.\n", "\n", "Nota: Sólo presentamos algunas características. Ver la documentación para mayor detalles.\n", "\n", "Ejemplo 1:" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nAGCF/w8u201jo3ijkQAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x = 0:pi/100:2*pi;\n", "y = sin(x);\n", "\n", "% figure;\n", "plot(x,y);\n", "title('Función Seno');\n", "xlabel('x');\n", "ylabel('f(x)');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Ejemplo 2:" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x = linspace(-2*pi,2*pi);\n", "y1 = sin(x);\n", "y2 = cos(x);\n", "\n", "% figure;\n", "plot(x,y1,x,y2)\n", "title('Funciones Seno y Coseno');\n", "xlabel('x');\n", "ylabel('f(x)');\n", "legend('sin(x)','cos(x)')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Existen muchas opciones para personalizar un gráfico:\n", "\n", "Estilos:\n", "- `-` Línea sólida (por defecto)\n", "- `--` Línea cortada.\n", "- `:` Línea punteada.\n", "- `-.` Línea cortada-puntada.\n", "\n", "Colores:\n", "- `y` Amarillo.\n", "- `m` Magenta.\n", "- `r` Rojo.\n", "- `g` Verde.\n", "- `b` Azul.\n", "- `w` Blanco.\n", "- `k` Negro.\n", "\n", "Marcadores principales:\n", "- `o` Circulo\n", "- `+` Signo de suma.\n", "- `*` Asterisco.\n", "- `.` Punto.\n", "- `x` Cruz.\n", "- `s` Cuadrado.\n", "- `d` Diamante.\n", "\n", "Ejemplo 3:" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/png": "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\nb9487Xu1003kgzly5Aj6uUmTJl9++eXX9axdu7Zt27bopU8//VRV1fz8fHxZZFl+5plnSktLsTVt\nlOrq6gULFtx+++04AqHl5ZdfVlU18sFEeJ2julw0Tz/9NNoHm58hQ4agLS+++GKod50+fRoPY8qU\nKRFen8jH2eiNsNplFHBFpH0nJ16vFz8RY3Rnz0i44IIL8M+tW7fOysoqLy8HgLNnz549e/aXX35B\nL11++eXad/Xp0yf8YU+dOuX3+9HP2okJALp3745+2L9///79+7F/JvxgNm/ejLbX1dX169dP96R7\n9uwBgH/9619Dhw49evQoAPh8PqRw0apVq+HDhzudTvrSEaSnp48aNWrUqFG1tbUbN2787LPP3nvv\nvZ07d6JXn3jiiYkTJ0Y+mEg+GsR6uTBjx47929/+VldX9/333+/cubNjx46rVq1Cn2XMmDGhPmmL\nFi1ycnKQvoaiKLr7+P3+TZs2oZ8HDx6MtkQ4zkZvhNUuo4ArwiAlJz169OjVq1dUb6murg71UvPm\nzbW/NmnSUE998uTJ2tpa9HPTpk2jOmNNTU1dXR36mQhZa38lBhZmMFVVVXjjRRddpHtSdMbrrrtO\nURSv1/vFF198+eWXp0+fBoBTp069//77y5cv//rrr3Vt0g8//LBixQr085///OfWrVunpaVdffXV\nV1999d/+9rd777333XffBYCjR49u3Lgx8sFE8tEg1suFycrKGjBgABr/woULJUlCIxw8ePB5552n\n+xbEpZdeigzSqlWrjh07RofQpk2b9u9//xsAzjnnnEOHDp08eTLycTZ6I6x2GQVcEQYp5cBmA80y\nCFVV9+3bF8PR2rZte8EFF6BH1J9//lkr5ub1en/44QcAGDhwIHpwJjjnnHN+97vfVVRUoMHgjGrt\n2DIzMzt37hzhYC699FL8cTZu3IgD2rpkZmZOnjx58uTJVVVV69at++ijj95+++3a2trDhw97vV7s\n4NJy+PBhnAN95ZVXauX4mjVrNnHiRGSQAGD//v04XB/JYCIh/stVVFSEDNJHH3104YUX4o3hzzts\n2DDkyzp+/Pgrr7zyt7/9Tfvqrl27sKerX79+aWlp0Y4z/I2YPHky2s06l1HADyEdlHLgx+H//ve/\neOOKFSuQQyMG8Mw7Z84cvPHw4cMTJ0588cUXUXwi1HtxMt7s2bO123G8PZRqnC7nn39+VlYWAKiq\n+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\nAgAA4Aj+D2iw8zlMUBrHAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x = linspace(-2*pi,2*pi);\n", "y1 = sin(x);\n", "y2 = cos(x);\n", "\n", "% figure;\n", "plot(x,y1,'-ro',x,y2,'-.b')\n", "title('Funciones Seno y Coseno');\n", "xlabel('x');\n", "ylabel('f(x)');\n", "legend('sin(x)','cos(x)')\n", "grid('on');" ] } ], "metadata": { "kernelspec": { "display_name": "Matlab", "language": "matlab", "name": "matlab" }, "language_info": { "file_extension": ".m", "help_links": [ { "text": "MetaKernel Magics", "url": "https://github.com/calysto/metakernel/blob/master/metakernel/magics/README.md" } ], "mimetype": "text/x-octave", "name": "matlab", "version": "0.9.4" } }, "nbformat": 4, "nbformat_minor": 1 }