SlideShare una empresa de Scribd logo
1 de 44
Descargar para leer sin conexión
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://www.financeandbusinessgroup.com/
https://twitter.com/FinanzasEmpresa
rafaelbustamante.weebly.com
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.
Financeandbusinness 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.
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: rafael.bustamanter@unmsm.edu.pe
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 ..................................................11
2.3 Asignación de variables ......................................................................13
3. Operaciones aritméticas con Matlab ......................................................15
3.1 Constantes y cadenas...........................................................................17
4. Operaciones con Matrices y Arrays........................................................18
4.1 Vectores fila...........................................................................................19
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 ...............................................................26
5.1 Formación de una matriz a partir de otras.......................................28
6. Operadores aritméticos, lógicos y relacionales de matrices en
MATLAB.........................................................................................................29
8. Ejercicios Resueltos ...................................................................................30
Bibliografía .....................................................................................................40
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).
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.
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
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
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
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
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
 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
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
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
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 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.
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
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.
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
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
Figura N. ª 6
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
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
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.
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
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.
>> who
Your variables are:
A ans
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
>> 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
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
4 Este procedimiento es similar a las bitácoras que aparecen en el programa Stata
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
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 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))
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
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;
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.
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
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 =
-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:
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
>> 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
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
5
En términos de C++ podríamos decir que son operadores sobrecargados, es decir, con varios significados
distintos dependiendo del contexto)
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
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.
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.
6 El uso de la función exp (exponencial) será explicado posteriormente.
7 Del inglés Not a Number.
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
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
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.
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
 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)
Ejemplo 1: ingresar el vector fila =  1 3 4 10
:
>> 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
:
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
>> 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
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
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
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
30.0000
40.0000
45.0000
40.0000
-28.9000
Por hallar la transpuesta de un vector fila:
Sintaxis:
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
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
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 =
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.
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
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
16 5 9 4
3 10 6 15
2 11 7 14
13 8 12 1
y
sum(A')'
Produce un vector de columna que contiene las sumas de fila de A
Ans
34
34
34
34
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
La suma de los elementos en la diagonal principal se obtiene con la suma y las
funciones diag:
diag (A)
Ans
16
10
7
1
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.
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
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
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
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 =
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
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
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
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
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
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.
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
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
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
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
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.
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.
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
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)
BA 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.
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.
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
>> 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
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 =
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
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]
>> 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:
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
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 =
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.
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
>> 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 =
1 1 1
1 1 1
1 1 1
g) Obtener una matriz identidad de orden 2x2.
>> eye(3)
ans =
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
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])
X =
0 0
1 25
11. Eliminar la primera y última columna de la matriz W
W(:, [1 5])=[]
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
>> 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 =
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 =
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
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,:)
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)
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
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
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
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
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
0 0 0.9706
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
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 .
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.
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. 41

Más contenido relacionado

La actualidad más candente

La actualidad más candente (8)

Apuntes de prácticas de DERIVE
Apuntes de prácticas de DERIVEApuntes de prácticas de DERIVE
Apuntes de prácticas de DERIVE
 
Avanse de proyecto de calculo
Avanse de proyecto de calculoAvanse de proyecto de calculo
Avanse de proyecto de calculo
 
Prueba objetiva y de ensayo
Prueba objetiva y de ensayoPrueba objetiva y de ensayo
Prueba objetiva y de ensayo
 
Guía docente para el diseño de robots de servicio
Guía docente para el diseño de robots de servicioGuía docente para el diseño de robots de servicio
Guía docente para el diseño de robots de servicio
 
Monografia
MonografiaMonografia
Monografia
 
Manual de raptor
Manual de raptorManual de raptor
Manual de raptor
 
Computacion
ComputacionComputacion
Computacion
 
Diagrama de-flujo
Diagrama de-flujoDiagrama de-flujo
Diagrama de-flujo
 

Similar a Apuntes de clase matlab.abril2019

Trabajo ·#4 teoria de control
Trabajo ·#4 teoria de controlTrabajo ·#4 teoria de control
Trabajo ·#4 teoria de controlCarlo Velasquez
 
Matlab y su lista de comandos
Matlab y su lista de comandosMatlab y su lista de comandos
Matlab y su lista de comandosCarlos Aparicio
 
Asignacion computacion aplicada
Asignacion computacion aplicadaAsignacion computacion aplicada
Asignacion computacion aplicadalorenza20
 
Guia rapida de matlab (comandos basicos, graficacion y programacion)
Guia rapida de matlab (comandos basicos, graficacion y programacion)Guia rapida de matlab (comandos basicos, graficacion y programacion)
Guia rapida de matlab (comandos basicos, graficacion y programacion)morones.om
 
Herramientas de software para investigacion operativa
Herramientas de software para investigacion operativaHerramientas de software para investigacion operativa
Herramientas de software para investigacion operativaLois Q
 
Disenoestructuradoalgoritmos
DisenoestructuradoalgoritmosDisenoestructuradoalgoritmos
Disenoestructuradoalgoritmosarmando_franco
 
Carmen
CarmenCarmen
CarmenCMEV18
 
Carmen
CarmenCarmen
CarmenCMEV18
 
Carmen
CarmenCarmen
CarmenCMEV18
 
Carmen
CarmenCarmen
CarmenCMEV18
 

Similar a Apuntes de clase matlab.abril2019 (20)

Informe matlab
Informe matlabInforme matlab
Informe matlab
 
matlab (2).pptx
matlab (2).pptxmatlab (2).pptx
matlab (2).pptx
 
Campos vectoriales con Matlab y Mathematica
Campos vectoriales con Matlab y MathematicaCampos vectoriales con Matlab y Mathematica
Campos vectoriales con Matlab y Mathematica
 
matlab
matlabmatlab
matlab
 
Taller Macro
Taller MacroTaller Macro
Taller Macro
 
Matlab r2006b
Matlab r2006bMatlab r2006b
Matlab r2006b
 
Documento11541
Documento11541Documento11541
Documento11541
 
Manual basico de_matlab
Manual basico de_matlabManual basico de_matlab
Manual basico de_matlab
 
Trabajo ·#4 teoria de control
Trabajo ·#4 teoria de controlTrabajo ·#4 teoria de control
Trabajo ·#4 teoria de control
 
Matlab y su lista de comandos
Matlab y su lista de comandosMatlab y su lista de comandos
Matlab y su lista de comandos
 
Trabajo matlab
Trabajo matlabTrabajo matlab
Trabajo matlab
 
Asignacion computacion aplicada
Asignacion computacion aplicadaAsignacion computacion aplicada
Asignacion computacion aplicada
 
Guia rapida de matlab (comandos basicos, graficacion y programacion)
Guia rapida de matlab (comandos basicos, graficacion y programacion)Guia rapida de matlab (comandos basicos, graficacion y programacion)
Guia rapida de matlab (comandos basicos, graficacion y programacion)
 
Herramientas de software para investigacion operativa
Herramientas de software para investigacion operativaHerramientas de software para investigacion operativa
Herramientas de software para investigacion operativa
 
Disenoestructuradoalgoritmos
DisenoestructuradoalgoritmosDisenoestructuradoalgoritmos
Disenoestructuradoalgoritmos
 
Disenoestructuradoalgoritmos
DisenoestructuradoalgoritmosDisenoestructuradoalgoritmos
Disenoestructuradoalgoritmos
 
Carmen
CarmenCarmen
Carmen
 
Carmen
CarmenCarmen
Carmen
 
Carmen
CarmenCarmen
Carmen
 
Carmen
CarmenCarmen
Carmen
 

Más de Rafael Bustamante Romaní (6)

Apuntes de-clase-n15.bustamante panel data
Apuntes de-clase-n15.bustamante panel dataApuntes de-clase-n15.bustamante panel data
Apuntes de-clase-n15.bustamante panel data
 
Microeconomia iii
Microeconomia iiiMicroeconomia iii
Microeconomia iii
 
6 to econometria_ii
6 to econometria_ii6 to econometria_ii
6 to econometria_ii
 
5 to econometria_i-rafaelbustamante1
5 to econometria_i-rafaelbustamante15 to econometria_i-rafaelbustamante1
5 to econometria_i-rafaelbustamante1
 
Bayes gauss
Bayes gaussBayes gauss
Bayes gauss
 
Eviews forecasting
Eviews forecastingEviews forecasting
Eviews forecasting
 

Último

PANTEÓN DE Paris en historia de la arquitectura
PANTEÓN DE Paris en historia de la arquitecturaPANTEÓN DE Paris en historia de la arquitectura
PANTEÓN DE Paris en historia de la arquitecturaRosaHurtado26
 
Biografías y Cuadro compartivo_Cuautle Ocelotl Angel Efren.pdf.pdf
Biografías y Cuadro compartivo_Cuautle Ocelotl Angel Efren.pdf.pdfBiografías y Cuadro compartivo_Cuautle Ocelotl Angel Efren.pdf.pdf
Biografías y Cuadro compartivo_Cuautle Ocelotl Angel Efren.pdf.pdfANGELEFRENCUAUTLEOCE
 
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdfREPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdfIrapuatoCmovamos
 
CNEB-CURRICULO NACIONAL DE EDUCACION BASICA
CNEB-CURRICULO NACIONAL DE EDUCACION BASICACNEB-CURRICULO NACIONAL DE EDUCACION BASICA
CNEB-CURRICULO NACIONAL DE EDUCACION BASICAYOSHELINSARAIMAMANIS2
 
Posiciones del IDH a nivel global en México (1982-2024).pdf
Posiciones del IDH a nivel global en México (1982-2024).pdfPosiciones del IDH a nivel global en México (1982-2024).pdf
Posiciones del IDH a nivel global en México (1982-2024).pdfJC Díaz Herrera
 
Posiciones en el IDH global de EUA (1950-2024).pdf
Posiciones en el IDH global de EUA (1950-2024).pdfPosiciones en el IDH global de EUA (1950-2024).pdf
Posiciones en el IDH global de EUA (1950-2024).pdfJC Díaz Herrera
 
Las marcas automotrices con más ventas de vehículos (2024).pdf
Las marcas automotrices con más ventas de vehículos (2024).pdfLas marcas automotrices con más ventas de vehículos (2024).pdf
Las marcas automotrices con más ventas de vehículos (2024).pdfJC Díaz Herrera
 
Posiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdf
Posiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdfPosiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdf
Posiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdfJC Díaz Herrera
 
Las mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdfLas mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdfJC Díaz Herrera
 
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,juberrodasflores
 
Industria musical de EUA vs Industria musical Corea del Sur (2024).pdf
Industria musical de EUA vs Industria musical Corea del Sur (2024).pdfIndustria musical de EUA vs Industria musical Corea del Sur (2024).pdf
Industria musical de EUA vs Industria musical Corea del Sur (2024).pdfJC Díaz Herrera
 
triptico-de-las-drogas en la adolescencia
triptico-de-las-drogas en la adolescenciatriptico-de-las-drogas en la adolescencia
triptico-de-las-drogas en la adolescenciaferg6120
 
Las familias más ricas del sionismo en el siglo XXI.pdf
Las familias más ricas del sionismo en el siglo XXI.pdfLas familias más ricas del sionismo en el siglo XXI.pdf
Las familias más ricas del sionismo en el siglo XXI.pdfJC Díaz Herrera
 
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdf
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdfCritica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdf
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdfRodrigoBenitez38
 
Novelas Turcas vs Series de EUA en audiencia (2024).pdf
Novelas Turcas vs Series de EUA en audiencia  (2024).pdfNovelas Turcas vs Series de EUA en audiencia  (2024).pdf
Novelas Turcas vs Series de EUA en audiencia (2024).pdfJC Díaz Herrera
 
Los artistas mexicanos con más ventas de discos en la historia (2024).pdf
Los artistas mexicanos con más ventas de discos en la historia (2024).pdfLos artistas mexicanos con más ventas de discos en la historia (2024).pdf
Los artistas mexicanos con más ventas de discos en la historia (2024).pdfJC Díaz Herrera
 
Análisis de datos en acción: Optimizando el crecimiento de Cyclistic
Análisis de datos en acción: Optimizando el crecimiento de CyclisticAnálisis de datos en acción: Optimizando el crecimiento de Cyclistic
Análisis de datos en acción: Optimizando el crecimiento de CyclisticJamithGarcia1
 
Data Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datosData Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datosssuser948499
 
Premios_nobel_por_grupo_racial_ (2024).pdf
Premios_nobel_por_grupo_racial_ (2024).pdfPremios_nobel_por_grupo_racial_ (2024).pdf
Premios_nobel_por_grupo_racial_ (2024).pdfJC Díaz Herrera
 
Qué es un Histograma estadístico teoria y problema
Qué es un Histograma estadístico teoria y problemaQué es un Histograma estadístico teoria y problema
Qué es un Histograma estadístico teoria y problemaJoellyAlejandraRodrg
 

Último (20)

PANTEÓN DE Paris en historia de la arquitectura
PANTEÓN DE Paris en historia de la arquitecturaPANTEÓN DE Paris en historia de la arquitectura
PANTEÓN DE Paris en historia de la arquitectura
 
Biografías y Cuadro compartivo_Cuautle Ocelotl Angel Efren.pdf.pdf
Biografías y Cuadro compartivo_Cuautle Ocelotl Angel Efren.pdf.pdfBiografías y Cuadro compartivo_Cuautle Ocelotl Angel Efren.pdf.pdf
Biografías y Cuadro compartivo_Cuautle Ocelotl Angel Efren.pdf.pdf
 
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdfREPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
 
CNEB-CURRICULO NACIONAL DE EDUCACION BASICA
CNEB-CURRICULO NACIONAL DE EDUCACION BASICACNEB-CURRICULO NACIONAL DE EDUCACION BASICA
CNEB-CURRICULO NACIONAL DE EDUCACION BASICA
 
Posiciones del IDH a nivel global en México (1982-2024).pdf
Posiciones del IDH a nivel global en México (1982-2024).pdfPosiciones del IDH a nivel global en México (1982-2024).pdf
Posiciones del IDH a nivel global en México (1982-2024).pdf
 
Posiciones en el IDH global de EUA (1950-2024).pdf
Posiciones en el IDH global de EUA (1950-2024).pdfPosiciones en el IDH global de EUA (1950-2024).pdf
Posiciones en el IDH global de EUA (1950-2024).pdf
 
Las marcas automotrices con más ventas de vehículos (2024).pdf
Las marcas automotrices con más ventas de vehículos (2024).pdfLas marcas automotrices con más ventas de vehículos (2024).pdf
Las marcas automotrices con más ventas de vehículos (2024).pdf
 
Posiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdf
Posiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdfPosiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdf
Posiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdf
 
Las mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdfLas mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdf
 
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
 
Industria musical de EUA vs Industria musical Corea del Sur (2024).pdf
Industria musical de EUA vs Industria musical Corea del Sur (2024).pdfIndustria musical de EUA vs Industria musical Corea del Sur (2024).pdf
Industria musical de EUA vs Industria musical Corea del Sur (2024).pdf
 
triptico-de-las-drogas en la adolescencia
triptico-de-las-drogas en la adolescenciatriptico-de-las-drogas en la adolescencia
triptico-de-las-drogas en la adolescencia
 
Las familias más ricas del sionismo en el siglo XXI.pdf
Las familias más ricas del sionismo en el siglo XXI.pdfLas familias más ricas del sionismo en el siglo XXI.pdf
Las familias más ricas del sionismo en el siglo XXI.pdf
 
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdf
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdfCritica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdf
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdf
 
Novelas Turcas vs Series de EUA en audiencia (2024).pdf
Novelas Turcas vs Series de EUA en audiencia  (2024).pdfNovelas Turcas vs Series de EUA en audiencia  (2024).pdf
Novelas Turcas vs Series de EUA en audiencia (2024).pdf
 
Los artistas mexicanos con más ventas de discos en la historia (2024).pdf
Los artistas mexicanos con más ventas de discos en la historia (2024).pdfLos artistas mexicanos con más ventas de discos en la historia (2024).pdf
Los artistas mexicanos con más ventas de discos en la historia (2024).pdf
 
Análisis de datos en acción: Optimizando el crecimiento de Cyclistic
Análisis de datos en acción: Optimizando el crecimiento de CyclisticAnálisis de datos en acción: Optimizando el crecimiento de Cyclistic
Análisis de datos en acción: Optimizando el crecimiento de Cyclistic
 
Data Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datosData Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datos
 
Premios_nobel_por_grupo_racial_ (2024).pdf
Premios_nobel_por_grupo_racial_ (2024).pdfPremios_nobel_por_grupo_racial_ (2024).pdf
Premios_nobel_por_grupo_racial_ (2024).pdf
 
Qué es un Histograma estadístico teoria y problema
Qué es un Histograma estadístico teoria y problemaQué es un Histograma estadístico teoria y problema
Qué es un Histograma estadístico teoria y problema
 

Apuntes de clase matlab.abril2019

  • 1. 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://www.financeandbusinessgroup.com/ https://twitter.com/FinanzasEmpresa rafaelbustamante.weebly.com
  • 2. 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. Financeandbusinness 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.
  • 3. 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: rafael.bustamanter@unmsm.edu.pe
  • 4. 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 ..................................................11 2.3 Asignación de variables ......................................................................13 3. Operaciones aritméticas con Matlab ......................................................15 3.1 Constantes y cadenas...........................................................................17 4. Operaciones con Matrices y Arrays........................................................18 4.1 Vectores fila...........................................................................................19 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 ...............................................................26 5.1 Formación de una matriz a partir de otras.......................................28 6. Operadores aritméticos, lógicos y relacionales de matrices en MATLAB.........................................................................................................29 8. Ejercicios Resueltos ...................................................................................30 Bibliografía .....................................................................................................40
  • 5. 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). 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.
  • 6. 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 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 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
  • 7. 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 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  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 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
  • 8. 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 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 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.
  • 9. 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
  • 10. 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.
  • 11. 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
  • 12. 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 Figura N. ª 6 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
  • 13. 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 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.
  • 14. 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 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. >> who Your variables are: A ans
  • 15. 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 >> 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 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 4 Este procedimiento es similar a las bitácoras que aparecen en el programa Stata
  • 16. 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 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 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))
  • 17. 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 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; 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.
  • 18. 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 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 = -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:
  • 19. 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 >> 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 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 5 En términos de C++ podríamos decir que son operadores sobrecargados, es decir, con varios significados distintos dependiendo del contexto)
  • 20. 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 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. 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. 6 El uso de la función exp (exponencial) será explicado posteriormente. 7 Del inglés Not a Number.
  • 21. 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 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 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.
  • 22. 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  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) Ejemplo 1: ingresar el vector fila =  1 3 4 10 : >> 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 :
  • 23. 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 >> 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 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
  • 24. 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 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 30.0000 40.0000 45.0000 40.0000 -28.9000 Por hallar la transpuesta de un vector fila: Sintaxis:
  • 25. 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 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 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 = 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.
  • 26. 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 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 16 5 9 4 3 10 6 15 2 11 7 14 13 8 12 1 y sum(A')' Produce un vector de columna que contiene las sumas de fila de A Ans 34 34 34 34
  • 27. 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 La suma de los elementos en la diagonal principal se obtiene con la suma y las funciones diag: diag (A) Ans 16 10 7 1 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. 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
  • 28. 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 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 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 =
  • 29. 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 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 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
  • 30. 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 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 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.
  • 31. 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 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 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
  • 32. 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 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. 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.
  • 33. 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 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) BA 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. 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.
  • 34. 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 >> 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 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 =
  • 35. 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 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] >> 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:
  • 36. 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 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 = 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.
  • 37. 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 >> 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 = 1 1 1 1 1 1 1 1 1 g) Obtener una matriz identidad de orden 2x2. >> eye(3) ans =
  • 38. 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 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]) X = 0 0 1 25 11. Eliminar la primera y última columna de la matriz W W(:, [1 5])=[]
  • 39. 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 >> 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 = 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 =
  • 40. 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 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,:) 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)
  • 41. 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 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 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
  • 42. 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 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 0 0 0.9706
  • 43. 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 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 . 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.
  • 44. 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. 41