Apuntes de Clase Matlab Bustamante...Estos apuntes de clases pretenden presentar los fundamentos...

43
Rafael Bustamante Romaní  20 Diciembre del 2018 Serie Apuntes de Clase ΩΒΓ UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Universidad del Perú, DECANA DE AMÉRICA FACULTAD DE CIENCIAS ECONÓMICAS https://financebusinessbet.wixsite.com/financebusiness https://twitter.com/FinanzasEmpresa rafaelbustamante.weebly.com

Transcript of Apuntes de Clase Matlab Bustamante...Estos apuntes de clases pretenden presentar los fundamentos...

Page 1: Apuntes de Clase Matlab Bustamante...Estos apuntes de clases pretenden presentar los fundamentos básicos para empezar con el manejo del programa, el cual ya es una tendencia de amplio

 

Rafael Bustamante Romaní 

N° 20

Diciembre del 2018Serie Apuntes de Clase ΩΒΓ

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Universidad del Perú, DECANA DE AMÉRICA

FACULTAD DE CIENCIAS ECONÓMICAS

https://financebusinessbet.wixsite.com/financebusiness https://twitter.com/FinanzasEmpresa rafaelbustamante.weebly.com

Page 2: Apuntes de Clase Matlab Bustamante...Estos apuntes de clases pretenden presentar los fundamentos básicos para empezar con el manejo del programa, el cual ya es una tendencia de amplio

   

La  Serie Apuntes de Clase Omega Beta Gamma tiene por objetivo difundir los materiales de enseñanza generados por los docentes que tienen a su cargo el desarrollo de las asignaturas que forman parte de los Planes de Estudios de las Escuelas Académico-Profesionales de la Facultad de Ciencias Económicas de la Universidad Nacional Mayor de San Marcos. Estos documentos buscan proporcionar a los estudiantes la explicación de algunos temas específicos que son abordados en su formación universitaria.

 

Facultad de Ciencias Económicas. Universidad Nacional Mayor de San Marcos.

Calle Germán Amézaga N° 375. Ciudad Universitaria, Lima 1. Perú.

La Serie Apuntes de Clase ΩΒΓ  es promovida y desarrollada por un colectivo de docentes del Departamento de Economía de la Universidad Nacional Mayor de San Marcos. El contenido de cada publicación es íntegramente responsabilidad de cada autor, no representa necesariamente los puntos de vista de los integrantes del colectivo, ni de la Universidad.

 

 

 

 

Financeybusinness S.A.C. Es una firma especializada en la prestación de servicios profesionales en capacitación y de consultoría en el diseño e implementación de estrategias empresariales ante los problemas financieros, de gestión y riesgos a los que se enfrentan las empresas en su normal funcionamiento.

https://financebusinessbet.wixsite.com/financebusiness https://twitter.com/FinanzasEmpresa rafaelbustamante.weebly.com

Page 3: Apuntes de Clase Matlab Bustamante...Estos apuntes de clases pretenden presentar los fundamentos básicos para empezar con el manejo del programa, el cual ya es una tendencia de amplio

   

 

 

MATLAB APLICADO A LAS DECISIONES 

ECONOMICAS 

Rafael Bustamante Romaní  

MATLAB es una de las tantas herramientas de computacionales disponibles en el espectro 

científico  que  es  utilizado  para  resolver  problemas  de matemáticas,  estadística,  física, 

economía  y  demás  ciencias.   MATLAB  es  un  programa  superior  en  los  cálculos  que 

involucran matrices más no así si el cálculo es simbólico. El nombre mismo de MATLAB es 

una  abreviatura  de  Matrix  Laboratory,  laboratorio  matricial.  En  muchos  casos  la 

realización  de  cálculos  con  un  programa  de  computación matemático  como MATLAB 

sustituye la programación de computadoras más tradicionales. Esto no significa que no se 

deba aprender un  lenguaje de alto nivel como C++ o FORTRAN, sino que  los programas 

como MATLAB se han convertido en una herramienta estándar para economistas y demás 

científicos debido a que su lenguaje de programación es bastante amigable con el usuario. 

Estos apuntes de clases pretenden presentar los fundamentos básicos para empezar con el 

manejo del programa, el cual ya es una tendencia de amplio uso entre  los economistas y 

demás usuarios de la comunidad científica.  

 Palabras claves:  Software, estadística, cálculo, matrices, MATLAB. 

 

Clasificación JEL:   C00, C01.  

                                                             Estudios  de  Doctorado  en  Economía,  Universidad  Autónoma  de  México.  Maestría  en  Economía  con mención  en  Finanzas,  Pontificia  Universidad  Católica  del  Perú.  B.  Sc.  Economía,  Universidad  Nacional Mayor  de  San  Marcos.  Profesor  del  Departamento  de  Economía  de  UNMSM.  Investigador  asociado  al Instituto de Investigaciones FCE – UNMSM. Investiga. Contacto:  [email protected]

Page 4: Apuntes de Clase Matlab Bustamante...Estos apuntes de clases pretenden presentar los fundamentos básicos para empezar con el manejo del programa, el cual ya es una tendencia de amplio

Serie Apuntes de Clase ΩΒΓ       N°16.   Octubre de 2017. FCE / UNMSM 

Matlab aplicado a las decisiones económicas: Capitulo I: Aspectos básicos.

Bustamante Romaní, Rafael.   1 

 

 

Tabla de contenido 

1. Introducción .................................................................................................................................... 2 

CAPITULO I: Aspectos Básicos ............................................................................................................. 6 

2. Experimentando el entorno de Matlab ........................................................................................... 6 

2.1 Partes de la ventana principal ................................................................................................... 6 

2.2 Algunos comandos de importancia ............................................................................................. 10 

2.3 Asignación de variables ........................................................................................................... 12 

3. Operaciones  aritméticas con Matlab ........................................................................................... 15 

3.1  Constantes y cadenas. ............................................................................................................ 17 

4. Operaciones con  Matrices y Arrays .............................................................................................. 18 

4.1 Vectores fila ............................................................................................................................. 18 

4.2 Vectores columna .................................................................................................................... 20 

4.3 Acceso a los elementos de una matriz .................................................................................... 24 

4.3 El Operador de colon (:) .......................................................................................................... 25 

5. Tipos de matrices predefinidas ..................................................................................................... 25 

6. Operadores  aritméticos, lógicos  y relacionales de  matrices en MATLAB .................................. 29 

8. Ejercicios Resueltos ....................................................................................................................... 30 

Bibliografía ........................................................................................................................................ 39 

 

 

 

 

 

 

 

 

Page 5: Apuntes de Clase Matlab Bustamante...Estos apuntes de clases pretenden presentar los fundamentos básicos para empezar con el manejo del programa, el cual ya es una tendencia de amplio

Serie Apuntes de Clase ΩΒΓ       N°16.   Octubre de 2017. FCE / UNMSM 

Matlab aplicado a las decisiones económicas: Capitulo I: Aspectos básicos.

Bustamante Romaní, Rafael.   2 

 

1. Introducción 

 

MATLAB  es  el  nombre  abreviado  de  “MATrix  LABoratory”.  MATLAB  es  un 

programa para realizar cálculos numéricos con vectores, matrices y arrays. Puede 

también trabajar con números escalares ya sean reales o complejos, con cadenas de 

caracteres  y  con  otras  estructuras  de  información  más  complejas.  Una  de  las 

capacidades más atractivas es la de realizar una amplia variedad de gráficos en dos 

y tres dimensiones. Asimismo, tiene un lenguaje de programación propio ( García, 

Rodríguez, & Vidal, 2005).  

 

MATLAB  es  un  gran  programa  de  cálculo  técnico  y  científico.  Para  ciertas 

operaciones es muy rápido, cuando puede ejecutar sus funciones en código nativo1 

con los tamaños más adecuados para aprovechar sus capacidades de vectorización. 

Es a partir de la versión 6.5, MATLAB incorporó un acelerador JIT (Just In Time), 

que mejoraba  significativamente  la velocidad de ejecución de  los  ficheros  *.m en 

ciertas circunstancias, por ejemplo, cuando no se hacen  llamadas a otros  ficheros 

*.m,  no  se  utilizan  estructuras  y  clases,  etc. Aunque  limitado  en  ese momento, 

cuando era aplicable mejoraba  sensiblemente  la velocidad, haciendo  innecesarias 

ciertas  técnicas  utilizadas  en  versiones  anteriores  como  la  vectorización  de  los 

algoritmos. En  cualquier  caso,  el  lenguaje de programación de MATLAB  es una 

muy buena herramienta de alto nivel para desarrollar aplicaciones técnicas, fácil de 

utilizar y que, como ya se ha dicho, aumenta significativamente  la productividad 

de  los programadores  respecto  a otros  entornos de desarrollo  ( García de  Jalón, 

Rodríguez, & Vidal, 2005). 

 

MATLAB  dispone  de  un  código  básico  y  de  varias  librerías  especializadas 

(Toolboxes)  para  poder  realizar  tareas  en  diferentes  campos  de  la  ciencia.  Al 

arrancar MATLAB se abre una ventana similar a la mostrada en la Figura Nº1. Ésta 

es la vista que se obtiene eligiendo la opción Desktop Layout/Default, en el menú 

View.  Sin  embargo,  esta  configuración  puede  ser  cambiada  fácilmente  por  el 

usuario. En cualquier caso, una vista similar se puede conseguir con el comando 

                                                            1  En  el  contexto  informático,  código  nativo  se  usa  como  seudónimo  de  lenguaje  de máquina.  Este  puede  ser  creado  directamente  para 

microcontroladores extremadamente sencillos o código fuente ya compilado, que puede ser interpretado por la máquina. El código nativo es 

una  forma de  código de  la programación de  computadora que  se  configura para  funcionar  con  el uso de un procesador  especificado. La 

estructura exacta del código nativo se usa para responder a las instrucciones que son publicadas por el procesador. Todos los tipos de función 

del software con código nativo, y se escriben a la función en la eficacia óptima con un tipo seleccionado de procesador o con los procesadores 

que se fabrican para reflejar la configuración del procesador especificado. 

Page 6: Apuntes de Clase Matlab Bustamante...Estos apuntes de clases pretenden presentar los fundamentos básicos para empezar con el manejo del programa, el cual ya es una tendencia de amplio

Serie Apuntes de Clase ΩΒΓ       N°16.   Octubre de 2017. FCE / UNMSM 

Matlab aplicado a las decisiones económicas: Capitulo I: Aspectos básicos.

Bustamante Romaní, Rafael.   3 

View/Desktop  Layout/  Default.  Esta  ventana  inicial  requiere  unas  primeras 

explicaciones. 

 

Figura N.º 2 

 

 

En  líneas generales, MATLAB es un  sistema  interactivo basado en matrices para 

cálculos  científicos.  Desde  el  punto  de  vista  del  control,  MATLAB  se  puede 

considerar  un  entorno  matemático  de  simulación  que  puede  utilizarse  para 

modelar  y  analizar  diversos  sistemas.  Sirve  para  estudiar  sistemas  continuos, 

discretos,  lineales y no  lineales. MATLAB  constituye un entorno abierto, para  lo 

cual  numerosos  paquetes  específicos  adicionales  (Toolboxes)  han  sido 

desarrollados.   MATLAB  es un  lenguaje de alto  rendimiento para  la  informática 

técnica,  integrando el cómputo,  la visualización y  la programación de una en un 

ambiente  fácil de  usar  en  el  que  los  problemas  y  las  soluciones  se  expresan  en 

notación matemática. (MathWorks, 2017), sus usos comunes incluyen:  

Matemáticas y computación 

Desarrollo de algoritmos 

Adquisición de datos 

Modelado, simulación y creación de prototipos 

Análisis de datos, exploración y visualización 

Page 7: Apuntes de Clase Matlab Bustamante...Estos apuntes de clases pretenden presentar los fundamentos básicos para empezar con el manejo del programa, el cual ya es una tendencia de amplio

Serie Apuntes de Clase ΩΒΓ       N°16.   Octubre de 2017. FCE / UNMSM 

Matlab aplicado a las decisiones económicas: Capitulo I: Aspectos básicos.

Bustamante Romaní, Rafael.   4 

Gráficos científicos y de ingeniería 

Desarrollo  de  aplicaciones,  incluyendo  creación  de  interfaz  gráfica  de 

usuario 

 

MATLAB es un sistema interactivo cuyo elemento de datos básico es un array2 que 

no  requiere  dimensionamiento.  Esto  le  permite  resolver muchos  problemas  de 

computación, especialmente aquellos con formulaciones de matriz y vector, en una 

fracción del  tiempo que  tomaría  escribir un programa  en un  lenguaje  escalar no 

interactivo como C o Fortran. 

El  nombre MATLAB  significa  laboratorio matricial. MATLAB  fue  originalmente 

escrito  para  proporcionar  un  fácil  acceso  al  software matricial  desarrollado  por 

LINPACK y proyectos EISPACK. Hoy en día, los motores MATLAB incorporan el 

LAPACK y las bibliotecas BLAS, incorporando el estado de la técnica en software 

para matriz cálculo. 

MATLAB ha evolucionado durante un período de años con la entrada de muchos 

usuarios.  En  entornos  universitarios,  es  la  herramienta  de  instrucción  estándar 

para  los cursos avanzados de matemáticas,  ingeniería y ciencias. En  la  industria, 

MATLAB  es  la  herramienta de  elección  para  la  investigación,  el desarrollo  y  el 

análisis de alta productividad (MathWorks, 2017). 

 

MATLAB  cuenta  con  una  familia  de  soluciones  específicas  para  aplicaciones 

específicas denominadas cajas de herramientas o Toolboxes. Muy importante para 

la mayoría  de  los  usuarios  de MATLAB,  los  Toolboxes  le  permiten  aprender  y 

aplicar  tecnología  especializada.  Las  cajas  de  herramientas  son  completas 

colecciones de funciones MATLAB (M‐files) que amplían el entorno MATLAB para 

resolver  clases  particulares  de  problemas.  Las  áreas  en  las  que  hay  cajas  de 

herramientas disponibles son procesamiento de señales, sistemas de control, redes 

neuronales, lógica difusa, wavelets, simulación y muchos otros. Inicio de MATLAB 

En  plataformas Windows,  inicie MATLAB  haciendo  doble  clic  en  el  icono  de 

acceso directo de MATLAB en el escritorio de Windows. En las plataformas UNIX, 

inicie MATLAB escribiendo MATLAB en el sistema operativo. Puede personalizar 

el inicio de MATLAB. Por ejemplo, puede cambiar el directorio en el que MATLAB 

inicia o ejecuta automáticamente los estados de MATLAB en un archivo de script 

denominado startup.m (MathWorks, 2017). 

 

Matlab  es  un  paquete  de  software  que  te  permite  hacer  matemáticas  y 

                                                            2 Un  array  es un medio de  guardar un  conjunto de  objetos de  la misma  clase.  Se  accede  a  cada  elemento 

individual del array mediante un número entero denominado  índice. 0 es el  índice del primer elemento y n‐

1 es el índice del último elemento, siendo n, la dimensión del array. Los arrays son objetos en Java y como tales 

vamos a ver los pasos que hemos de seguir para usarlos convenientemente 

Page 8: Apuntes de Clase Matlab Bustamante...Estos apuntes de clases pretenden presentar los fundamentos básicos para empezar con el manejo del programa, el cual ya es una tendencia de amplio

Serie Apuntes de Clase ΩΒΓ       N°16.   Octubre de 2017. FCE / UNMSM 

Matlab aplicado a las decisiones económicas: Capitulo I: Aspectos básicos.

Bustamante Romaní, Rafael.   5 

computación,  analizar  datos,  desarrollar  algoritmos,  hacer  simulaciones  y 

modelado, y producir pantallas gráficas  e  interfaces gráficas de usuario. Puedes 

obtener  Matlab  para  hacer  las  cosas  por  ti  escribiendo  comandos.  Matlab  te 

muestra dos signos mayores que  (>>) cuando esté  listo para aceptar un comando 

del  usuario.  Para  finalizar  un  tipo  de  sesión  de  Matlab,  salga  o  salga  en  el 

indicador Matlab.  Puede  escribir  ayuda  en  el  indicador Matlab,  o  desplegar  el 

menú Ayuda en un PC. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Page 9: Apuntes de Clase Matlab Bustamante...Estos apuntes de clases pretenden presentar los fundamentos básicos para empezar con el manejo del programa, el cual ya es una tendencia de amplio

Serie Apuntes de Clase ΩΒΓ       N°16.   Octubre de 2017. FCE / UNMSM 

Matlab aplicado a las decisiones económicas: Capitulo I: Aspectos básicos.

Bustamante Romaní, Rafael.   6 

CAPITULO I: Aspectos Básicos  

2. Experimentando el entorno de Matlab  

2.1 Partes de la ventana principal 

Para iniciar MATLAB 2018, vamos al botón inicio y seleccionamos el programa 

Matlab. Aparece la ventana escritorio (desktop o ventana principal) dividida en 

cinco partes:  

Barra de menús y herramientas 

Ventana del directorio actual (Hacer click en la ficha Current Folder) 

Navegador del Workspace (Hacer click en la ficha Workspace) 

Ventana del Historial de Comandos (Command History) 

Ventana de comandos: Sobre la cual empezamos a digitar las órdenes 

después del signo >>. 

 

Figura N. ª 2  

 

 

Page 10: Apuntes de Clase Matlab Bustamante...Estos apuntes de clases pretenden presentar los fundamentos básicos para empezar con el manejo del programa, el cual ya es una tendencia de amplio

Serie Apuntes de Clase ΩΒΓ       N°16.   Octubre de 2017. FCE / UNMSM 

Matlab aplicado a las decisiones económicas: Capitulo I: Aspectos básicos.

Bustamante Romaní, Rafael.   7 

 

Para  empezar  con  algunos  ejemplos  que  provee Matlab,  escriba  uno  de  estos 

comandos: helpwin, Helpdesk o demo, Helpwin abre una GUI de ayuda Matlab y 

Helpdesk abre un navegador de ayuda de hipertexto3. 

 

 

 

Figura N. ª 3 

 

  

 

 

 

 

                                                            3  El  hipertexto  es  una  herramienta  con  estructura  no  secuencial  que  permite  crear,  agregar,  enlazar  y  compartir  información  de 

diversas  fuentes  por  medio  de  enlaces  asociativos.  La  forma  más  habitual  de  hipertexto  en  informática  es  la  de  hipervínculos  o referencias  cruzadas  automáticas  que  van  a  otros  documentos.  Si  el  usuario  selecciona  un  hipervínculo,  el  programa  muestra  el documento  enlazado.  Otra  forma  de  hipertexto  es  el  stretchtext  que  consiste  en  dos  indicadores  o  aceleradores  y  una  pantalla.  El primer indicador permite que lo escrito pueda moverse de arriba hacia abajo en la pantalla. Es importante mencionar que el hipertexto no está  limitado a datos textuales, podemos encontrar dibujos del elemento especificado o especializado, sonido o vídeo referido al tema.  

Page 11: Apuntes de Clase Matlab Bustamante...Estos apuntes de clases pretenden presentar los fundamentos básicos para empezar con el manejo del programa, el cual ya es una tendencia de amplio

Serie Apuntes de Clase ΩΒΓ       N°16.   Octubre de 2017. FCE / UNMSM 

Matlab aplicado a las decisiones económicas: Capitulo I: Aspectos básicos.

Bustamante Romaní, Rafael.   8 

 

Figura N. ª 5 

 

  

Figura N. ª 6 

 

 

Page 12: Apuntes de Clase Matlab Bustamante...Estos apuntes de clases pretenden presentar los fundamentos básicos para empezar con el manejo del programa, el cual ya es una tendencia de amplio

Serie Apuntes de Clase ΩΒΓ       N°16.   Octubre de 2017. FCE / UNMSM 

Matlab aplicado a las decisiones económicas: Capitulo I: Aspectos básicos.

Bustamante Romaní, Rafael.   9 

 

Al  escribir  Demo  se  inicia  la  demostración  de  lo  que  puede  hacer    Matlab, 

mostrando  en  videos  un  conjunto  de  ejemplos    introductorios  al  programa,  tal 

como se muestra en la figura Nº7. 

 

        Figura N. ª 7 

 

  

La documentación completa para Matlab se puede acceder desde el Helpdesk de 

hipertexto,  Por  ejemplo,  haciendo  clic  en  el  enlace  documentación  completa  o 

digitando (help) en la ventana de comandos. 

 

 

 

 

 

 

 

 

 

Page 13: Apuntes de Clase Matlab Bustamante...Estos apuntes de clases pretenden presentar los fundamentos básicos para empezar con el manejo del programa, el cual ya es una tendencia de amplio

Serie Apuntes de Clase ΩΒΓ       N°16.   Octubre de 2017. FCE / UNMSM 

Matlab aplicado a las decisiones económicas: Capitulo I: Aspectos básicos.

Bustamante Romaní, Rafael.   10 

 

 

 

 

Figura Nº 8 

  

2.2 Algunos comandos de importancia  

Matlab acceder a la lista de variables generadas durante la ejecución de nuestro 

trabajo. Para ello basta digitar los comandos who, whos en el espacio de trabajo, 

donde whos nos ofrece la información más al detalle. 

Page 14: Apuntes de Clase Matlab Bustamante...Estos apuntes de clases pretenden presentar los fundamentos básicos para empezar con el manejo del programa, el cual ya es una tendencia de amplio

Serie Apuntes de Clase ΩΒΓ       N°16.   Octubre de 2017. FCE / UNMSM 

Matlab aplicado a las decisiones económicas: Capitulo I: Aspectos básicos.

Bustamante Romaní, Rafael.   11 

>> who 

Your variables are: 

A    ans   

>> whos 

  Name      Size            Bytes  Class     Attributes 

  A              4x4               128                   double               

  ans           1x1                 8                    double     

 

 

Para evitar que MATLAB diferencie entre mayúsculas y minúsculas teclearemos >> 

casesen off. Obviamente, el comando contrario será casesen on. 

 

Otro  comando útil  es  lookfor  tema de búsqueda. Así, por  ejemplo,  si queremos 

averiguar  los comandos relacionados con  la  función seno,  teclearemos >>  lookfor 

sine y a continuación se nos presenta el siguiente cuadro: 

 

Figura Nº 9 

 

  

Page 15: Apuntes de Clase Matlab Bustamante...Estos apuntes de clases pretenden presentar los fundamentos básicos para empezar con el manejo del programa, el cual ya es una tendencia de amplio

Serie Apuntes de Clase ΩΒΓ       N°16.   Octubre de 2017. FCE / UNMSM 

Matlab aplicado a las decisiones económicas: Capitulo I: Aspectos básicos.

Bustamante Romaní, Rafael.   12 

Uno de los mandatos más útiles de MATLAB es diary, que permite guardar en un 

fichero  todo  el  texto  que  aparece  en  la  ventana  de  comandos4.    Si  se  tiene  un 

diskette en la unidad a: se puede escribir 

>> diary C: taller.txt 

Y todo lo que salga en pantalla se grabará en un fichero taller.txt justo cuando se 

vuelva a  introducir el mandato diary.   Para agregar más  texto en una misma 

sesión al archivo creado se usa diary on al principio de lo que se quiera grabar 

y diary off al final (en este momento se graba realmente). 

El mandato % convierte en comentario lo que se escriba   a   continuación.       Es 

decir, MATLAB ignora lo que viene a continuación del comando %. 

>> % Esto es un comentario 

Con  las  teclas  del  cursor  [↑]  y  [↓]  se  recuperan  los  mandatos  antes  escritos, 

evitando así tener que reescribir ´´ordenes iguales o parecidas. También se puede 

“copiar” con el  ratón el  texto de cualquier sitio y “pegar” en  la  (única)  línea de 

mandatos  activa,  eligiendo  estas  opciones  en  el menú´  de  edición.  Vale  usar 

[Ctrl]+C y [Ctrl]+V con el mismo fin (Benitez & Hueso, 2000). 

 

2.3 Asignación de variables  

 MATLAB puede usarse como calculadora, aunque eso no es  realmente su uso y 

para  el  cual  fue  diseñado.  Los  signos  +,  ‐,  *,  /  y  ^  denotan  las  operaciones 

aritméticas de suma, resta, multiplicación, división y elevación a una potencia. Si el 

resultado de una operación no es asignado a ninguna variable, MATLAB lo asigna 

a la variable del sistema a través de la palabra ans. Así mismo se pueden usar los 

                                                            4 Este procedimiento es similar a las bitácoras que aparecen en el programa Stata 

Page 16: Apuntes de Clase Matlab Bustamante...Estos apuntes de clases pretenden presentar los fundamentos básicos para empezar con el manejo del programa, el cual ya es una tendencia de amplio

Serie Apuntes de Clase ΩΒΓ       N°16.   Octubre de 2017. FCE / UNMSM 

Matlab aplicado a las decisiones económicas: Capitulo I: Aspectos básicos.

Bustamante Romaní, Rafael.   13 

paréntesis  ()  para  concatenar  expresiones,  no  así  los  corchetes  []  que  están 

reservados para  introducir vectores y matrices(Benitez & Hueso, 2000).. Así, por 

ejemplo: 

 

>>   3*((1+3) ^(1/20)) 

Proporciona, obviamente, ans = 3.2153. 

En MATLAB las variables se asignan de modo natural. Basta escribir un nombre 

de variable, a continuación, el signo = y luego el valor que toma esa variable. Para 

aceptar, como siempre, hay que pulsar [Intro]. Escribiendo solo el nombre de una 

variable previamente asignada, MATLAB muestra el resultado final . Por ejemplo, 

se puede escribir 

>> a = 3, b = 4 

y a continuación 

>> a+b 

Para  conservar  este  resultado  se  hace  >>  c  =  ans  o  mejor  aún  >>  c  =  a+b 

directamente. Si se pone un “punto y coma”,  tras  la asignación no se muestra el 

resultado por pantalla. Naturalmente, la asignación no resulta afectada. Esta forma 

de  proceder  resulta  útil  en  la  elaboración  de  resultados  que  requieran  cálculos 

intermedios. Por ejemplo, la orden 

>> d=(a+b)^2; 

Page 17: Apuntes de Clase Matlab Bustamante...Estos apuntes de clases pretenden presentar los fundamentos básicos para empezar con el manejo del programa, el cual ya es una tendencia de amplio

Serie Apuntes de Clase ΩΒΓ       N°16.   Octubre de 2017. FCE / UNMSM 

Matlab aplicado a las decisiones económicas: Capitulo I: Aspectos básicos.

Bustamante Romaní, Rafael.   14 

Calcula  el  valor  de  d;  pero  no  lo muestra  en  pantalla.  La  orden who  lista  las 

variables definidas y con la orden whos obtenemos además el tipo de variable y su 

tamaño.  Se  puede  acceder  a  través  del  menú  e  incluso  modificar  los  valores 

existentes: File y a continuación Show Workspace. Para modificar las variables una 

vez abierto el workspace browser, no tenemos más que pinchar en cada variable. 

Con el comando clear sin argumentos elimina todas las variables y clear c elimina 

la variable c. 

Las variables de una sesión se pueden grabar con el comando   >> save c: taller el 

cual guarda los nombres y los valores de las variables actualmente definidas en un 

fichero  en  a:  llamado  taller.mat. MATLAB  añade  automáticamente  la  extensión 

mat y así identifica el formato de estos ficheros. Si se borran las variables: 

>> clear, who 

Se pueden recuperar ahora o en otra sesión con  la orden >>  load c: taller.   De 

nuevo mediante  el menú  File  también  se  pueden  ejecutar  los  comandos  load  y 

save.  

En Matlab  la  asignación de variables  es bastante  sencilla.  Sin  embargo debemos 

tener en cuenta que cada variable que definimos debe comenzar con una letra del 

alfabeto. 

Ejemplos:  

 

>> a= cos(30) 

a = 

    0.1543 

>> b=sin(30) 

b = 

Page 18: Apuntes de Clase Matlab Bustamante...Estos apuntes de clases pretenden presentar los fundamentos básicos para empezar con el manejo del programa, el cual ya es una tendencia de amplio

Serie Apuntes de Clase ΩΒΓ       N°16.   Octubre de 2017. FCE / UNMSM 

Matlab aplicado a las decisiones económicas: Capitulo I: Aspectos básicos.

Bustamante Romaní, Rafael.   15 

   ‐0.9880 

3. Operaciones aritméticas con Matlab 

Para arrancar Matlab, se procede como con cualquier programa Windows, o sea, 

Inicio,  Programas, Matlab  o  Student Matlab  caso  de  que  utilicemos  la  versión 

educacional. Una vez arrancado aparece el cursor con el símbolo (>>) o (EDU >>), 

indicando que puedes  introducir órdenes. La utilización más básica de Matlab es 

como calculadora. Así, por ejemplo, puedes calcular cos (5)* 2 7.3, para lo cual debes 

introducir: 

>> cos(5)*2^7.3 

ans = 

   44.7013  

Matlab mantiene en su memoria resultado del último cálculo realizado. En caso de 

que ese cálculo no se asigne a ninguna variable, lo hace a una variable por defecto 

de nombre ans. Si quieres  referirte a ese  resultado, hazlo a  través de  la variable 

ans, y si no asignas ese nuevo cálculo a ninguna variable, volvería a ser asignado a 

ans. 

 

log(ans)  

ans = 3.8000  

A continuación, presentamos los operadores aritméticos usados por Matlab  

 

 

Operadores Aritméticos   Significado 

+  Adición 

‐  Resta

*  Multiplicación 

/  División 

^  Potencia 

 

Page 19: Apuntes de Clase Matlab Bustamante...Estos apuntes de clases pretenden presentar los fundamentos básicos para empezar con el manejo del programa, el cual ya es una tendencia de amplio

Serie Apuntes de Clase ΩΒΓ       N°16.   Octubre de 2017. FCE / UNMSM 

Matlab aplicado a las decisiones económicas: Capitulo I: Aspectos básicos.

Bustamante Romaní, Rafael.   16 

 

Estos operadores se aplican también a las variables o valores escalares, aunque con 

algunas  diferencias5.  Todos  estos  operadores  son  coherentes  con  las 

correspondientes operaciones matriciales: no se puede por ejemplo sumar matrices 

que no sean del mismo tamaño. Si los operadores no se usan de modo correcto se 

obtiene un mensaje de error ( De Jalón, Goñi, Sarriegui, & Girón, 1997). 

 

Los operadores anteriores se pueden aplicar también de modo mixto, es decir con 

un operando  escalar y otro matricial. En  este  caso  la operación  con  el  escalar  se 

aplica a cada uno de los elementos de la matriz. Considérese el siguiente ejemplo: 

 

>> A= [1 2; 3 4] 

A = 

     1     2 

     3     4 

>> A*2 

ans = 

     2     4 

     6     8 

>> A‐4 

ans = 

    ‐3    ‐2 

    ‐1     0  

MATLAB utiliza  el operador de división  / para dividir por un  escalar  todos  los 

elementos  de  una  matriz  o  un  vector.  Sin  embargo,  el  uso  que  se  describe  a 

continuación sí requiere más atención. 

                                                            5 En términos de C++ podríamos decir que son operadores sobrecargados, es decir, con varios significados distintos dependiendo del contexto) 

Page 20: Apuntes de Clase Matlab Bustamante...Estos apuntes de clases pretenden presentar los fundamentos básicos para empezar con el manejo del programa, el cual ya es una tendencia de amplio

Serie Apuntes de Clase ΩΒΓ       N°16.   Octubre de 2017. FCE / UNMSM 

Matlab aplicado a las decisiones económicas: Capitulo I: Aspectos básicos.

Bustamante Romaní, Rafael.   17 

 

3.1 Constantes y cadenas 

MATLAB utiliza ciertos nombres de variable para fines especiales, como i o j, que 

designan ambas a la unidad imaginaria o pi, para el número π. El número e, base 

de  los  logaritmos  neperianos,  no  está  pre  asignado,  pero  se  obtiene  fácilmente 

como exp(1)6. 

La precisión relativa en operaciones de coma flotante se llama eps. En realidad, eps 

es el mayor positivo que cumple 1+eps = 1. El resultado de 1/0 en MATLAB es Inf y 

el de 0/0, NaN7.  

Se pueden utilizar estos nombres de variables pre asignadas para almacenar 

otros valores, prevaleciendo esta última asignación sobre el valor por defecto de 

MATLAB.  Por  ejemplo,  si  no  se  utilizan  números  complejos,  no  hay 

inconveniente en representar por i y j los índices de fila y columna de una matriz. 

Igualmente  se podríamos  llamar  eps  a una  cantidad utilizada  como  criterio de 

convergencia,  pero  en  general  conviene  evitar  equívocos  empleando  otros 

nombres de variable. 

Internamente MATLAB trabaja con mucha precisión, aunque por defecto muestra 

los resultados con cuatro decimales. La apariencia de  los resultados se modifica 

por medio del menú o con el comando format: Por ejemplo, format long aumenta 

el número de decimales visibles. 

>> format long, pi 

format  short vuelve al estado inicial,  format  rat aproxima el resultado por 

un  cociente  de  enteros  pequeños.  Se  pueden  explorar  otras  opciones  con  help 

format.  Podemos  usar  también  cadenas  de  caracteres  para  manejar  texto  en 

funciones de MATLAB  . Para introducir una cadena, basta escribir el texto entre 

comillas. 

>> ’Esto es una cadena’ 

Un texto sin comillas produce error porque MATLAB lo interpreta como un 

nombre de variable o función. 

>> Hola 

                                                            6 El uso de la función exp (exponencial) será explicado posteriormente. 7 Del inglés Not a Number. 

Page 21: Apuntes de Clase Matlab Bustamante...Estos apuntes de clases pretenden presentar los fundamentos básicos para empezar con el manejo del programa, el cual ya es una tendencia de amplio

Serie Apuntes de Clase ΩΒΓ       N°16.   Octubre de 2017. FCE / UNMSM 

Matlab aplicado a las decisiones económicas: Capitulo I: Aspectos básicos.

Bustamante Romaní, Rafael.   18 

Produce el error 

???   Undefined function or variable Hola. 

 

4. Operaciones con Matrices y Arrays 

 

 La  mejor  manera  de  empezar  con  MATLAB  es  aprender  a  manejar  Matrices 

iniciamow  MATLAB  y  siga  con  cada  ejemplo.  Puede  introducir  matrices  en 

MATLAB de varias maneras diferentes:  

 

Introduzca una lista explícita de elementos.  

Cargar matrices de archivos de datos externos. 

Generar matrices usando funciones incorporadas.  

Crear matrices con sus propias funciones en M‐files.  

 

Comienza introduciendo la matriz  de Dürer como una lista de sus elementos. Solo 

tienes que seguir algunas convenciones básicas: 

 

Separar los elementos de una fila con espacios en blanco o comas. 

Utilice un punto y coma “;” Para indicar el final de cada fila. 

Envuelva la lista completa de elementos con corchetes, [].  

 

 

4.1 Vectores fila 

 

Existen diversas formas de declarar vectores fila en Matlab por ejemplo 

introduciendo  elemento por elemento: 

Sintaxis: 

vectorfila = [elemento1 elemento2 ... elementoN] 

(Clave: dentro de una misma fila las separaciones son con espacios en blanco o el 

uso de coma) 

 

Page 22: Apuntes de Clase Matlab Bustamante...Estos apuntes de clases pretenden presentar los fundamentos básicos para empezar con el manejo del programa, el cual ya es una tendencia de amplio

Serie Apuntes de Clase ΩΒΓ       N°16.   Octubre de 2017. FCE / UNMSM 

Matlab aplicado a las decisiones económicas: Capitulo I: Aspectos básicos.

Bustamante Romaní, Rafael.   19 

Ejemplo 1: ingresar el vector fila =  1 3 4 1 0 : 

 

>> fila = [1 3 4 10] 

fila = 

     1     3     4    10 

 

Ejemplo 2: ingresar el vector alpha =  0.25 3.14 2.71 5.31 0.01

 

>> alpha = [‐0.25 3.14 2.71 5.31 0.01] 

alpha = 

   ‐0.2500    3.1400    2.7100    5.3100    0.0100 

 

Creación de un vector a través de extremos y extensión de separación: 

 

Sintaxis: 

vector inicial:salto:final 

(Es decir: vector = [inicial inicial+salto inicial+2*salto ... final]) 

 

Un requisito es hacer que uno de los saltos coincida con el final, en caso contrario 

tomará el máximo anterior. Ejemplo 1 

>> A1=1:1:9 

A1 = 

     1     2     3     4     5     6     7     8     9 

>> A2=0:5:19 

Page 23: Apuntes de Clase Matlab Bustamante...Estos apuntes de clases pretenden presentar los fundamentos básicos para empezar con el manejo del programa, el cual ya es una tendencia de amplio

Serie Apuntes de Clase ΩΒΓ       N°16.   Octubre de 2017. FCE / UNMSM 

Matlab aplicado a las decisiones económicas: Capitulo I: Aspectos básicos.

Bustamante Romaní, Rafael.   20 

A2 = 

     0     5    10    15 

 A3=1:5 

A3 = 

     1     2     3     4     5 

4.2 Vectores columna 

Casi  todos  los  comandos básicos  en MATLAB  implican  el uso de vectores. Para 

simplificar  la creación de vectores, podemos definir un vector especificando: una 

primera entrada, un  incremento y una  ´ultima entrada. Existen diferentes  formas 

de generarlas: 

Sintaxis 

A= [elemento1; elemento2;...; elementoN]. 

(Clave: cada “;” representa el fin de una línea, en este caso el fin de la línea indica el fin 

de la fila) 

 

Ejemplos: 

   >> B = [30 ; 40 ; 60 ; 70 ; 20 ; 50 ; 30 ; 40 ; 45 ; 40 ; ‐28.9] 

B = 

    30.0000 

    40.0000 

    60.0000 

    70.0000 

    20.0000 

    50.0000 

Page 24: Apuntes de Clase Matlab Bustamante...Estos apuntes de clases pretenden presentar los fundamentos básicos para empezar con el manejo del programa, el cual ya es una tendencia de amplio

Serie Apuntes de Clase ΩΒΓ       N°16.   Octubre de 2017. FCE / UNMSM 

Matlab aplicado a las decisiones económicas: Capitulo I: Aspectos básicos.

Bustamante Romaní, Rafael.   21 

    30.0000 

    40.0000 

   45.0000 

   40.0000 

  ‐28.9000 

Por hallar la transpuesta de un vector fila: 

Sintaxis: 

A= Aʹ 

 ʹ: operador transposición 

>> Bʹ 

ans = 

    30.0000    40.0000    60.0000    70.0000    20.0000    50.0000    30.0000    40.0000   

45.0000   40.0000 ‐28.9000 

Para ingresar a la matriz de Dürer8, simplemente ingrese la Ventana de Comandos 

 

 A = [16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1] MATLAB muestra la matriz que acaba de ingresar: 

 

A = 

  16 3 2 13 

  5 10 11 8 

  9  6  7 12 

  4 15 14 1 

                                                            8 Un cuadrado mágico es una tabla de grado primario donde se dispone de una serie de números enteros en 

un cuadrado o matriz de forma tal que la suma de los números por columnas, filas y diagonales principales sea 

la misma. Usualmente los números empleados para rellenar las casillas son consecutivos, de 1 a n², siendo n el 

número de columnas y filas del cuadrado mágico. 

Los cuadrados mágicos actualmente no tienen ninguna aplicación técnica conocida que se beneficien de estas 

características, por lo que sigue recluido al divertimento, curiosidad y al pensamiento matemático. Aparte de 

esto, en las llamadas seudo ciencias ocultas y más concretamente en la magia tienen un lugar destacado. 

Page 25: Apuntes de Clase Matlab Bustamante...Estos apuntes de clases pretenden presentar los fundamentos básicos para empezar con el manejo del programa, el cual ya es una tendencia de amplio

Serie Apuntes de Clase ΩΒΓ       N°16.   Octubre de 2017. FCE / UNMSM 

Matlab aplicado a las decisiones económicas: Capitulo I: Aspectos básicos.

Bustamante Romaní, Rafael.   22 

 

Una vez que haya ingresado la matriz, se muestra automáticamente en el espacio 

de trabajo MATLAB. Se puede invocar a la matriz  simplemente como A.  

 

Las propiedades especiales de un cuadrado mágico tienen que ver con las diversas 

formas de sumar sus elementos. Si usted toma la suma a lo largo de cualquier fila o 

columna,  o  a  lo  largo  de  cualquiera  de  las  dos  diagonales  principales,  siempre 

obtendrá  el mismo  número.  Vamos  a  verificar  que  con MATLAB.  La  primera 

declaración que debemos intentar es sum(A). MATLAB  Nos muestra:  

 

>> sum(A) 

 

ans = 

 

    34    34    34    34 

 

Cuando no se especifica una variable de salida, MATLAB utiliza  la variable ans, 

Abreviatura de  respuesta, para  almacenar  los  resultados de un  cálculo.   Lo que 

hace es calcular que contiene las sumas de las columnas de A. Por supuesto, cada 

uno de las columnas tiene la misma suma, la suma mágica, 34. 

 

Una forma de obtener  las sumas de fila es Matriz, calcular  las sumas de columna 

de la matriz transpuesta, y luego transponer el resultado. Para una forma adicional 

que evita  la transposición doble, use  la Argumento de dimensión para  la función 

de suma. 

 

MATLAB  tiene  dos  operadores  de  transposición.  El  operador de  apóstrofe  (por 

ejemplo,  (Aʹ)  realiza  una  transposición  conjugada  compleja.  Vuelve  una matriz 

sobre su principal 

 

Diagonal,  y  también  cambia  el  signo  del  componente  imaginario  de  cualquier 

elementos  complejos  de  la  matriz.  El  operador  de  apóstrofo  de  puntos  (por 

ejemplo, A. ʹ), 

Transpone sin afectar el signo de elementos complejos. Para matrices que contiene 

todos los elementos reales, los dos operadores devuelven el mismo resultado. Así 

que  

 

Aʹ   

Ans 

Page 26: Apuntes de Clase Matlab Bustamante...Estos apuntes de clases pretenden presentar los fundamentos básicos para empezar con el manejo del programa, el cual ya es una tendencia de amplio

Serie Apuntes de Clase ΩΒΓ       N°16.   Octubre de 2017. FCE / UNMSM 

Matlab aplicado a las decisiones económicas: Capitulo I: Aspectos básicos.

Bustamante Romaní, Rafael.   23 

16 5 9  4 

3 10 6 15 

2 11 7 14 

13 8 12 1 

sum(Aʹ)ʹ 

 

Produce un vector de columna que contiene las sumas de fila de A 

Ans 

34 

34 

34 

34 

La  suma de  los  elementos  en  la diagonal principal  se obtiene  con  la  suma y  las 

funciones diag: 

 

diag (A) 

Ans 

16 

10 

 

sum (diag (A)) 

Ans 

34 

 

La otra diagonal, la llamada anti diagonal, no es tan importante. Matemáticamente, 

por  lo  que  MATLAB  no  tiene  una  función  lista  para  ello.  Pero  una  función 

originalmente  destinada  para  su  uso  en  gráficos,  fliplr,  invierte  una matriz  de 

izquierda a derecha: 

 

sum (diag (fliplr (A))) 

Ans 

34 

Se   ha verificado que  la matriz en el grabado de Dürer es de hecho un cuadrado 

mágico  y,  en  el  proceso,  han  mostrado  algunas  operaciones  de    matrices  con 

MATLAB. 

 

Page 27: Apuntes de Clase Matlab Bustamante...Estos apuntes de clases pretenden presentar los fundamentos básicos para empezar con el manejo del programa, el cual ya es una tendencia de amplio

Serie Apuntes de Clase ΩΒΓ       N°16.   Octubre de 2017. FCE / UNMSM 

Matlab aplicado a las decisiones económicas: Capitulo I: Aspectos básicos.

Bustamante Romaní, Rafael.   24 

4.3 Acceso a los elementos de una matriz 

El elemento en la fila i y la columna j de A se denotan por A (i, j). Por ejemplo, A 

(4,2) es el número en la cuarta fila y segunda columna. Para nuestra magia 

Cuadrado, A (4,2) es 15. Así, para calcular la suma de los elementos en el cuarto 

Columna del tipo A 

 

A (1,4) + A (2,4) + A (3,4) + A (4,4) 

Ans 

34 

Pero no es la manera más elegante de sumar una sola columna. También es posible 

hacer  referencia a  los elementos de una matriz  con un  solo  subíndice. Esta es  la 

forma usual de hacer  referencia a  los vectores de  fila y  columna. Pero. También 

puede aplicarse a una matriz  completamente bidimensional. Se puede modificar 

alguno de los elementos de la matriz A, accediendo a cualquiera de sus posiciones, 

por ejemplo: 

 

9    10 

 

A = 

    16     3     2    13 

     5    10    11     8 

     9     6     7    12 

     4    15    14     1 

 

>> A (4,2)=9 

 

A = 

    16     3     2    13 

     5    10    11     8 

     9     6     7    12 

     4     9    14     1 

 

>> A (4,2)=15 

 

A = 

    16     3     2    13 

     5    10    11     8 

     9     6     7    12 

     4    15    14     1 

Page 28: Apuntes de Clase Matlab Bustamante...Estos apuntes de clases pretenden presentar los fundamentos básicos para empezar con el manejo del programa, el cual ya es una tendencia de amplio

Serie Apuntes de Clase ΩΒΓ       N°16.   Octubre de 2017. FCE / UNMSM 

Matlab aplicado a las decisiones económicas: Capitulo I: Aspectos básicos.

Bustamante Romaní, Rafael.   25 

 

 

4.3 El Operador de colon (:) 

 

El operador de  colon: es uno de los operadores más importantes  en el manejo de 

matrices de MATLAB. Ocurre en varias formas diferentes. La expresión 

 

1:10 

 

ans = 

 

     1     2     3     4     5     6     7     8       

 

5. Tipos de matrices predefinidas 

 

MATLAB  dispone  de  varias  formas  de  definir  matrices.  El  introducirlas  por 

teclado sólo es práctico en casos de cuando el tamaño es pequeño y cuando no hay 

que  repetir  esa  operación muchas veces. Recuerde  en que  en MATLAB no hace 

falta definir el tamaño de una matriz. Las matrices toman tamaño al ser definidas y 

este tamaño puede ser modificado por el usuario mediante adición y/o borrado de 

filas  y  columnas.  A  continuación  se  van  a  ver  otras  formas  más  potentes  y 

generales de definir y/o modificar matrices. 

 

Existen  en  MATLAB  varias  funciones  orientadas  a  definir  con  gran  facilidad 

matrices de  tipos particulares. Algunas de estas  funciones son  las siguientes: eye 

(4) forma la matriz unidad de tamaño (4×4). 

 

>> Z =eye (5) 

 

Z = 

 

     1     0     0     0     0 

     0     1     0     0     0 

     0     0     1     0     0 

     0     0     0     1     0 

Page 29: Apuntes de Clase Matlab Bustamante...Estos apuntes de clases pretenden presentar los fundamentos básicos para empezar con el manejo del programa, el cual ya es una tendencia de amplio

Serie Apuntes de Clase ΩΒΓ       N°16.   Octubre de 2017. FCE / UNMSM 

Matlab aplicado a las decisiones económicas: Capitulo I: Aspectos básicos.

Bustamante Romaní, Rafael.   26 

     0     0     0     0     1 

 

zeros(3,5)   forma una matriz de ceros de tamaño (3×5) 

zeros(4)   ídem de tamaño (4×4) 

ones(3)   forma una matriz de unos de tamaño (3×3) 

ones(2,4)   idem de tamaño (2×4)

linspace(x1,x2,n)   genera un vector con n valores igualmente espaciados entre x1 y x2 

logspace(d1,d2,n)  

 

genera un vector con n valores espaciados logarítmicamente entre 

10^d1 y 10^d2. Si d2 es pi9, los puntos se generan entre 10^d1 y pi. 

rand(3)   forma una matriz de números aleatorios entre 0 y 1, con distribución 

uniforme, de tamaño (3×3) 

rand(2,5)   idem de tamaño (2×5) 

randn(4)   forma una matriz de números aleatorios de tamaño (4×4), con 

distribución normal, de valor medio 0 y varianza 1. 

magic(4)   crea una matriz (4×4) con los números 1, 2, ... 4*4, con la propiedad 

de que todas las filas y columnas suman lo mismo. 

hilb(5)   Crea una matriz de Hilbert de tamaño (5×5). La matriz de Hilbert es 

una matriz cuyos elementos (i,j) responden a la expresión (1/(i+j‐1)). 

Esta es una matriz especialmente difícil de manejar por  los grandes 

errores numéricos a los que conduce 

invhilb(5)   Crea directamente la inversa de la matriz de Hilbert. 

kron(x,y)  

 

produce una matriz con todos los productos de los elementos del 

vector x por los elementos del vector y. Equivalente a xʹ*y, donde x e 

y son vectores fila 

compan(pol)  

 

Construye  una  matriz  cuyo  polinomio  característico  tiene  como 

coeficientes los elementos del vector pol (ordenados de mayor grado 

a menor). 

vander(v)   Construye  la  matriz  de  Vandermonde  a  partir  del  vector  v  (las 

Page 30: Apuntes de Clase Matlab Bustamante...Estos apuntes de clases pretenden presentar los fundamentos básicos para empezar con el manejo del programa, el cual ya es una tendencia de amplio

Serie Apuntes de Clase ΩΒΓ       N°16.   Octubre de 2017. FCE / UNMSM 

Matlab aplicado a las decisiones económicas: Capitulo I: Aspectos básicos.

Bustamante Romaní, Rafael.   27 

columnas son las potencias de los elementos de dicho vector). 

 

 

Existen otras funciones para crear matrices de tipos particulares. Con Help/Matlab 

Help  se  puede  obtener  información  sobre  todas  las  funciones  disponibles  en 

MATLAB,  que  aparecen  agrupadas  por  categorías  o por  orden  alfabético. En  la 

categoría Mathematics aparecen la mayor parte de las funciones estudiadas en este 

documento. 

 

 

5.1 Formación de una matriz a partir de otras 

MATLAB ofrece también la posibilidad de crear una matriz a partir de matrices 

previas ya definidas, por varios posibles caminos: 

 

Recibiendo alguna de sus propiedades (como por ejemplo el tamaño) 

Por composición de varias submatrices más pequeñas 

Modificándolas de alguna forma. 

 

A continuación se describen algunas de las funciones que crean una nueva matriz a 

partir de otra o de otras, comenzando por dos funciones auxiliares: 

 

[m,n]=size(A)  Devuelve el número de filas y de columnas de la matriz A. Si la 

matriz es cuadrada basta recoger el primer valor de retorno. 

n=length(x)  Calcula el número de elementos de un vector x.

 

zeros(size(A))  forma una matriz de ceros del mismo tamaño que una matriz A 

previamente creada 

ones(size(A))   ídem con unos 

 

A=diag(x)  forma una matriz diagonal A cuyos elementos diagonales son 

los elementos de un vector ya existente x 

Page 31: Apuntes de Clase Matlab Bustamante...Estos apuntes de clases pretenden presentar los fundamentos básicos para empezar con el manejo del programa, el cual ya es una tendencia de amplio

Serie Apuntes de Clase ΩΒΓ       N°16.   Octubre de 2017. FCE / UNMSM 

Matlab aplicado a las decisiones económicas: Capitulo I: Aspectos básicos.

Bustamante Romaní, Rafael.   28 

x=diag(A)  forma un vector x a partir de los elementos de la diagonal de 

una matriz ya existente A 

diag(diag(A))  crea una matriz diagonal a partir de la diagonal de la matriz A 

 

blkdiag(A,B)  Crea una matriz diagonal de submatrices a partir de las 

matrices que se le pasan como argumentos 

triu(A)  Forma una matriz triangular superior a partir de una matriz A 

(no tiene por qué ser cuadrada). Con un segundo argumento 

puede controlarse que se mantengan o eliminen más 

diagonales por encima o debajo de la diagonal principal. 

tril(A)  Ídem con una matriz triangular inferior.

rot90(A,k)  Gira k*90 grados la matriz rectangular A en sentido anti 

horario. k es un entero que puede ser negativo. Si se omite, se 

supone k=1 

 

flipud(A)  halla la matriz simétrica de A respecto de un eje horizontal 

 

fliplr(A)  Halla la matriz simétrica de A respecto de un eje vertical 

reshape(A,m,

n) 

Cambia el tamaño de la matriz A devolviendo una matriz de 

tamaño m×n cuyas columnas se obtienen a partir de un vector 

formado por las columnas de A puestas una a continuación de 

otra. Si la matriz A tiene menos de m×n elementos se produce 

un error. 

 

 

Page 32: Apuntes de Clase Matlab Bustamante...Estos apuntes de clases pretenden presentar los fundamentos básicos para empezar con el manejo del programa, el cual ya es una tendencia de amplio

Serie Apuntes de Clase ΩΒΓ       N°16.   Octubre de 2017. FCE / UNMSM 

Matlab aplicado a las decisiones económicas: Capitulo I: Aspectos básicos.

Bustamante Romaní, Rafael.   29 

6. Operadores  aritméticos, lógicos  y relacionales de  

matrices en MATLAB 

 

MATLAB    dispone  de  operaciones  aritméticas:  Las  operaciones  aritméticas 

matriciales,  que  se  rigen  por  las  reglas  del  algebra  lineal,  y  las  operaciones  

aritméticas    con  vectores  que  se  realizan  elemento  a  elemento.  Los  operadores 

involucrados  se  presentan  en  la  tabla  siguiente  (Cutipa  Coaquira  &  Gutierrez 

Pachas, 2009):  

 

A+B  Suma de elementos de las matrices  A y B de acuerdo a su posición.  

A‐B  Resta de elementos de las matrices  A y B de acuerdo a su posición.  

k*A  Multiplica cada elemento de A por el escalar k.

A.*B  Multiplica  cada  elemento  de  A  y  B  de  acuerdo  a  su  posición 

(Producto punto) 

A*B  Calcula la suma de los productos de las filas de  A por las columnas 

de B 

A./B  Realiza  la división de cada elemento de A entre B de acuerdo a su 

posición  

B./A  Realiza  la división de cada elemento de B entre A de acuerdo a su 

posición 

A/B  Equivale a A* inv(B) 

B\A  Equivale a B* inv(A) 

A.^k  Eleva cada elemento de la matriz A al exponente  escalar k. 

A^k  Equivale a A*A*A*…A tantas veces como valga el valor de k. 

 

 

 

 

Page 33: Apuntes de Clase Matlab Bustamante...Estos apuntes de clases pretenden presentar los fundamentos básicos para empezar con el manejo del programa, el cual ya es una tendencia de amplio

Serie Apuntes de Clase ΩΒΓ       N°16.   Octubre de 2017. FCE / UNMSM 

Matlab aplicado a las decisiones económicas: Capitulo I: Aspectos básicos.

Bustamante Romaní, Rafael.   30 

 

8. Ejercicios Resueltos 

 

1. Crear un vector M cuyo valor inicial sea 100 y cuyo valor final sea 88. Sus valores 

intermedios deben decrecer de 2 en2. 

 

 

 

>> M = 100: ‐2:88 

 

M = 

 

   100    98    96    94    92    90    88 

 2. Almacenar en una variable m el segundo elemento del vector M.   

>> m= M (2) 

 

m = 

 

    98  

 

3. Mostrar los elementos situados entre la tercera y cuarta ubicación  inclusive del 

vector M. 

 

>> M(3:5) 

 

ans = 

 

    96    94    92  

Page 34: Apuntes de Clase Matlab Bustamante...Estos apuntes de clases pretenden presentar los fundamentos básicos para empezar con el manejo del programa, el cual ya es una tendencia de amplio

Serie Apuntes de Clase ΩΒΓ       N°16.   Octubre de 2017. FCE / UNMSM 

Matlab aplicado a las decisiones económicas: Capitulo I: Aspectos básicos.

Bustamante Romaní, Rafael.   31 

 

4. Obtener una variable de n elementos de M situados entre  la séptima y  tercera 

ubicación inclusive pero separados de dos en dos. 

 

M (1: ‐2:3) 

 

 

5.   Crear una matriz R de 2x3   cuyas  filas, cuyas  filas son  los cuadrados de  los 6 

primeros números consecutivos  

 

>> R = [linspace (1,3,3); linspace(4,6,3)].* [linspace(1,3,3); linspace(4,6,3)] 

 

R = 

 

     1     4     9 

    16    25    36 

 

6. Anular el elemento (2,1) de la matriz R antes creada 

 

>> R (2,1)=0 

 

R = 

 

     1     4     9 

     0    25    36 

 

7. Obtener la matriz T transpuesta de R 

 

>> T= Rʹ 

 

T = 

 

     1     0 

     4    25 

     9    36 

8.   Construir una matriz W,  formada por  la matriz T  y  la matriz    identidad de 

orden 3 adosada a su izquierda. 

 

W= [eye(3) T] 

Page 35: Apuntes de Clase Matlab Bustamante...Estos apuntes de clases pretenden presentar los fundamentos básicos para empezar con el manejo del programa, el cual ya es una tendencia de amplio

Serie Apuntes de Clase ΩΒΓ       N°16.   Octubre de 2017. FCE / UNMSM 

Matlab aplicado a las decisiones económicas: Capitulo I: Aspectos básicos.

Bustamante Romaní, Rafael.   32 

 

>> W= [eye(3) T] 

 

W = 

 

     1     0     0     1     0 

     0     1     0     4    25 

     0     0     1     9    36 

 

 

 

 

10.   Considere la siguiente matriz: 

 

  

Se pide: 

a) Introducir la matriz A. 

 

>> A= [11 12 13 14; 21 22 23 24; 31 32 33 34; 41 42 43 44]  

A = 

 

    11    12    13    14 

    21    22    23    24 

    31    32    33    34 

    41    42    43    44 b) Obtener los valores de la primera columna. 

 

>> A(:,1) 

ans = 

 

Page 36: Apuntes de Clase Matlab Bustamante...Estos apuntes de clases pretenden presentar los fundamentos básicos para empezar con el manejo del programa, el cual ya es una tendencia de amplio

Serie Apuntes de Clase ΩΒΓ       N°16.   Octubre de 2017. FCE / UNMSM 

Matlab aplicado a las decisiones económicas: Capitulo I: Aspectos básicos.

Bustamante Romaní, Rafael.   33 

    11 

    21 

    31 

    41 

c) Obtener los valores de la segunda fila. 

    

 >> A(2,:) 

 

ans = 

 

    21    22    23    24 

 

d) Obtener los valores de la segunda y la tercera columna. 

 

>> A(:,2:3) 

 

ans = 

 

    12    13 

    22    23 

    32    33 

    42    43 

 

e) Obtener la diagonal de A. 

 

>> diag(A) 

 

ans = 

 

    11 

    22 

    33 

    44 

 

f) Obtener una matriz de 2x2 donde todos los elementos sean 1. 

 >> ones (3,3) 

 

ans = 

 

Page 37: Apuntes de Clase Matlab Bustamante...Estos apuntes de clases pretenden presentar los fundamentos básicos para empezar con el manejo del programa, el cual ya es una tendencia de amplio

Serie Apuntes de Clase ΩΒΓ       N°16.   Octubre de 2017. FCE / UNMSM 

Matlab aplicado a las decisiones económicas: Capitulo I: Aspectos básicos.

Bustamante Romaní, Rafael.   34 

       1     1     1 

        1     1     1 

        1     1     1 

 

 

g) Obtener una matriz identidad de orden 2x2. 

 

>> eye(3) 

 

ans = 

 

     1     0     0 

     0     1     0 

     0     0     1 

 

9.  

 

10. Construir  una matriz V  extrayendo  las  columnas  pares  de  la matriz  T,  una 

matriz Z formada por la intersección de las dos últimas filas de W y sus columnas  

primera y quinta, y una matriz X formada por la intersección de las dos primeras 

filas o columnas de la matriz W. 

 

>> V= W(:, 2:2:5) 

 

V = 

 

     0     1 

     1     4 

     0     9 

 

 

>> Z= W([2 3 ],[1 5]) 

 

Z = 

 

     0    25 

     0    36 

 

>> X= W([1 2  ],[2;5]) 

Page 38: Apuntes de Clase Matlab Bustamante...Estos apuntes de clases pretenden presentar los fundamentos básicos para empezar con el manejo del programa, el cual ya es una tendencia de amplio

Serie Apuntes de Clase ΩΒΓ       N°16.   Octubre de 2017. FCE / UNMSM 

Matlab aplicado a las decisiones económicas: Capitulo I: Aspectos básicos.

Bustamante Romaní, Rafael.   35 

 

X = 

 

     0     0 

     1    25 

 

11. Eliminar la  primera y  última columna de la matriz W 

 

W(:, [1 5])=[] 

 

>> W(:, [1 5])=[] 

 

W = 

 

     0     0     1 

     1     0     4 

     0     1     9 

 

11. Construir la matriz diagonal Y, tal que los elementos de su diagonal principal 

son los mismos que los de la diagonal principal de W. 

 

 

>> Y=diag(diag(W)) 

 

Y = 

 

     0     0     0 

     0     0     0 

     0     0     9  

 

13. Construir una matriz Z    formadas por  las matrices unidad de  4x3,  la matriz 

nula  e  identidad  del mismo  orden  acoplado  horizontalmente.  Luego  calcular  el 

tamaño de Z (orden). 

 

Z= [ones(4,3) zeros(4,3) eye(4,3)] 

 

>> Z= [ones(4,3) zeros(4,3) eye(4,3)] 

 

Z = 

Page 39: Apuntes de Clase Matlab Bustamante...Estos apuntes de clases pretenden presentar los fundamentos básicos para empezar con el manejo del programa, el cual ya es una tendencia de amplio

Serie Apuntes de Clase ΩΒΓ       N°16.   Octubre de 2017. FCE / UNMSM 

Matlab aplicado a las decisiones económicas: Capitulo I: Aspectos básicos.

Bustamante Romaní, Rafael.   36 

 

     1     1     1     0     0     0     1     0     0 

     1     1     1     0     0     0     0     1     0 

     1     1     1     0     0     0     0     0     1 

     1     1     1     0     0     0     0     0     0 

 

>> size(Z) 

 

ans = 

 

     4     9 

 

14. Formar la matriz A con los elementos de la intersección de la primera y tercera 

fila de Z y las columnas séptima t novena inclusive. Luego crear un vector columna 

I con los elementos de la antidiagonal de  Z  

 

>> A=Z(1:3, 7:9) 

 

A = 

 

     1     0     0 

     0     1     0 

     0     0     1 

 

15.  Construir una matriz aleatoria K de orden 4x3. Luego invierta el orden de sus 

filas  utilizando  el  operador  2  puntos.    Utilice  algún  comando  de Matlab  para 

realizar el mismo procedimiento. 

 

>> K = rand(4,3) 

 

K = 

 

    0.8147    0.6324    0.9575 

    0.9058    0.0975    0.9649 

    0.1270    0.2785    0.1576 

    0.9134    0.5469    0.9706 

 

 

>> K(4: ‐1:1,:) 

Page 40: Apuntes de Clase Matlab Bustamante...Estos apuntes de clases pretenden presentar los fundamentos básicos para empezar con el manejo del programa, el cual ya es una tendencia de amplio

Serie Apuntes de Clase ΩΒΓ       N°16.   Octubre de 2017. FCE / UNMSM 

Matlab aplicado a las decisiones económicas: Capitulo I: Aspectos básicos.

Bustamante Romaní, Rafael.   37 

 

ans = 

 

    0.9134    0.5469    0.9706 

    0.1270    0.2785    0.1576 

    0.9058    0.0975    0.9649 

    0.8147    0.6324    0.9575 

 

>> flipud(K) 

 

ans = 

 

    0.9134    0.5469    0.9706 

    0.1270    0.2785    0.1576 

    0.9058    0.0975    0.9649 

    0.8147    0.6324    0.9575 

 

16. Invierta el orden de las columnas utilizando el operador 2 puntos. Utilice algún 

comando de MATLAB para realizar el mismo procedimiento. 

 

>> K(:,3:‐1:1) 

 

ans = 

 

    0.9575    0.6324    0.8147 

    0.9649    0.0975    0.9058 

    0.1576    0.2785    0.1270 

    0.9706    0.5469    0.9134 

 

>> fliplr(K) 

 

ans = 

 

    0.9575    0.6324    0.8147 

    0.9649    0.0975    0.9058 

    0.1576    0.2785    0.1270 

    0.9706    0.5469    0.9134 

 

17. Halle la matriz L de orden 2x6  cuyas columnas resultan de tomar los elementos  

Page 41: Apuntes de Clase Matlab Bustamante...Estos apuntes de clases pretenden presentar los fundamentos básicos para empezar con el manejo del programa, el cual ya es una tendencia de amplio

Serie Apuntes de Clase ΩΒΓ       N°16.   Octubre de 2017. FCE / UNMSM 

Matlab aplicado a las decisiones económicas: Capitulo I: Aspectos básicos.

Bustamante Romaní, Rafael.   38 

de las columnas de K consecutivamente. 

 

 

>> L = reshape(K,2,6) 

 

L = 

     0.8147    0.1270    0.6324    0.2785    0.9575    0.1576 

    0.9058    0.9134    0.0975    0.5469    0.9649    0.9706 

 

18. Mostrar las matrices triangulares inferior y superior de las 3 últimas filas de K. 

 

>> tril(K(2:4,:)) 

 

ans = 

 

    0.9058         0             0 

    0.1270    0.2785         0 

    0.9134    0.5469    0.9706 

 

>> triu(K(2:4,:)) 

 

ans = 

 

    0.9058    0.0975     0.9649 

         0         0.2785    0.1576 

Page 42: Apuntes de Clase Matlab Bustamante...Estos apuntes de clases pretenden presentar los fundamentos básicos para empezar con el manejo del programa, el cual ya es una tendencia de amplio

Serie Apuntes de Clase ΩΒΓ       N°16.   Octubre de 2017. FCE / UNMSM 

Matlab aplicado a las decisiones económicas: Capitulo I: Aspectos básicos.

Bustamante Romaní, Rafael.   39 

         0            0          0.9706 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Bibliografía 

de Jalón de la Fuente, J., Goñi Lasheras, R., Sarriegui Domínguez, J., & Girón 

Legorburu, I. (1997). Aprenda Matlab 4.2 como si estuviera en Primero. 

Universidad de Navarra, Escuela superior de Ingenieros Industriales. 

García de Jalón, J., Rodríguez, J., & Vidal, J. (2005). Aprenda Matlab 7.0 como si 

estuviera en primero. Universidad Politécnica de Madrid. Madrid: Escuela 

Técnica Superior de Ingenieros Industriales . 

Page 43: Apuntes de Clase Matlab Bustamante...Estos apuntes de clases pretenden presentar los fundamentos básicos para empezar con el manejo del programa, el cual ya es una tendencia de amplio

Serie Apuntes de Clase ΩΒΓ       N°16.   Octubre de 2017. FCE / UNMSM 

Matlab aplicado a las decisiones económicas: Capitulo I: Aspectos básicos.

Bustamante Romaní, Rafael.   40 

Benitez López, J., & Hueso Pagoaga, J. (2000). Introducción a MATLAB. Universidad 

Politécnica de Valencia, Departamento de Matemática Aplicada, Valencia. 

Cutipa Coaquira, M., & Gutierrez Pachas, D. (2009). MATLAB 7. MACRO EIRL. 

Martínez del Río, F. (2015). Programación en Matlab. Universidad de Jaén, 

Departamanto de Informática . 

MathWorks. (2017). MATLAB® Primer.