Material del curso de Matlab para Economistas que tuve a bien dictarlo en el Banco Central de Reserva del Perú en el 200...
BANCO CENTRAL DE RESERVA DEL PERÚ
MATLAB para Economistas NIVEL BÁSICO
SESIÓN No. 1
Miguel Ataurima Arellano CONSULTOR EN TECNOLOGÍAS DE LA INFORMACIÓN
[email protected]
BANCO CENTRAL DE RESERVA DEL PERÚ
MATLAB para Economistas – Sesión No.1
Contenido 1. MATLAB
3
1.1. ¿Qué es MATLAB?
4
1.2. Principales Características
5
1.3. La Familia de Productos
5
1.4. Los Creadores
6
1.5. Las Versiones
6
1.6. El Sistema MATLAB
7
1.7. El Escritorio MATLAB
7
2. COMPONENTES BÁSICOS DE LA PROGRAMACIÓN PROGRAMACI ÓN EN MATLAB 2.1. Los Comandos y las Funciones MATLAB
8 8
2.2. Las Matrices
11
2.3. El Workspace
13
2.4. Las Clases (Tipos de Dato)
15
2.5. Las Palabras Reservadas
16
2.6. Comandos Especiales
16
2.7. Las Funciones Internas MATLAB
17
2.8. Las Expresiones y Operadores (elemento a elemento y matricial)
17
2.9. Ayuda en línea
21
3. INDEXACIÓN DE MATRICES
22
3.1. Los Vectores Rango
22
3.2. La Indexación Bidimensional
23
3.3. La Indexación Lineal
23
3.4. La Indexación Lógica
24
3.5. El operador :
24
3.6. La palabra reservada end
25
4. GESTIÓN DE ARCHIVOS EN MATLAB
26
4.1. Los Tipos de Archivo soportados por MATLAB
26
4.2. Importación y Exportación de Datos en Formato Texto
28
4.3. Importación y Exportación de Datos en Formato MATLAB
28
4.4. Importación y Exportación de Datos en Formato Excel
29
4.5. Generación de Sentencias LaTeX a partir de variables MATLAB
29
PRACTICA DIRIGIDA No.1 PROFESOR: Miguel Ataurima Arellano
30 2
[email protected]
BANCO CENTRAL DE RESERVA DEL PERÚ
MATLAB para Economistas – Sesión No.1
BANCO CENTRAL DE RESERVA DEL PERÚ
MATLAB para Economistas NIVEL BÁ BÁSICO MATLAB Componentes Básicos de la Programación en MATLAB Indexación de Matrices Gestión de Archivos en MATLAB
EXPOSITOR:
Miguel Ataurima Arellano 1
INGENIERO CONSULTOR
BANCO CENTRAL DE RESERVA DEL PERÚ
MATLAB ¿Qué ¿Qué es MATLAB? MATLAB? Principales Características La Familia de Productos Los Creadores Las Versiones El Sistema MATLAB El Escritorio MATLAB
EXPOSITOR:
Miguel Ataurima Arellano 2
INGENIERO CONSULTOR
PROFESOR: Miguel Ataurima Arellano
3
[email protected]
BANCO CENTRAL DE RESERVA DEL PERÚ
MATLAB para Economistas – Sesión No.1
¿Qué ¿Q ué es MATL MATLAB AB?? MATLAB es un lenguaje de alto nivel, para el cálculo técnico; el cual integra un entorno fácil de usar para el cálculo, la visualización y la programación. Sus usos típicos son en:
Cálculo y Matemática
Desarrollo de Algoritmos Adquisición de datos
Modelamiento, simulación y prototipamiento. Análisis, exploración y visualización de datos. Gráficos científicos y de ingeniería. Desarrollo de aplicaciones que incluyan el diseño de interfaces gráficas de usuario. http://www.mathworks.com
© Miguel Ataur Ataurima ima Arella Arellano no
3
[email protected]
El nombre MATLAB proviene de Matrix Laboratory (Laboratorio (Laboratorio de Matric Matrices) es) dado que en sus orígenes éste fue escrito para facilitar el desarrollo de software matricial. MATLAB ha evolucionado desde 1970, a través de las necesidades de los usuarios, los cuales suman en la actualidad mas de dos millones tanto en ámbitos académicos como empresariales. En la actualidad, los entornos universitarios lo utilizan como herramienta de instrucción estándar tanto para cursos avanzados o introductorios en ciencias e ingeniería; mientras que a nivel profesional o profesional o industrial, permite obtener la máxima productividad en investigación, desarrollo y análisis. MATLAB posee familias de soluciones de aplicación específica denominadas toolboxes; los cuales le permiten resolver clases particulares de problemas en áreas como finanzas, bases de datos, redes neuronales, waveletes, algoritmos genéticos, matemática simbólica, lógica difusa, optimización, estadística y muchos más.
© Miguel Ataur Ataurima ima Arella Arellano no
4
[email protected]
PROFESOR: Miguel Ataurima Arellano
4
[email protected]
BANCO CENTRAL DE RESERVA DEL PERÚ
MATLAB para Economistas – Sesión No.1
Principales Características Lenguaje de alto nivel para cálculo técnico Entorno de desarrollo para la gestión de código, archivos y datos Herramientas interactivas para exploración, diseño y resolución de problemas iterativos Funciones matemáticas para álgebra lineal, estadística, análisis de Fourier, filtraje, optimización e integración numérica Funciones gráficas bidimensionales y tridimensionales para visualización de datos Herramientas para crear interfaces gráficas de usuario personalizadas Funciones para integrar los algoritmos basados en MATLAB con aplicaciones y lenguajes externos, tales como C/C++, FORTRAN, Java, COM y Microsoft Excel. Posee toolboxes que son herramientas orientadas a problemas específicos en ciencia e ingeniería. Para las investigación económica se tiene:
Financial Financial Toolbox Toolbox
Fixed Fixed Income Income Toolbo Toolbox x
Financ Financial ial Derivat Derivatives ives Toolbo Toolbox x
Econometrics Econometrics Toolbox Toolbox
Optimization Optimization Toolbox Toolbox
Statistics Statistics Toolbox Toolbox
© Miguel Ataur Ataurima ima Arella Arellano no
5
[email protected]
Familia de Productos Productos Simulink
Productos de Aplicación Específica
Productos Matlab © Miguel Ataur Ataurima ima Arella Arellano no
6
[email protected]
PROFESOR: Miguel Ataurima Arellano
5
[email protected]
BANCO CENTRAL DE RESERVA DEL PERÚ
MATLAB para Economistas – Sesión No.1
Los Creadores Cleve Cle ve Mol Moler er Director Científico
Cleve Moler, es el presidente del consejo consejo y director científico científico de The MathWorks, MathWorks, ha sido profesor de matemáticas, cálculo científico científico e informática, con una experiencia de más de 30 años en universidades como la Universidad Universidad de Michigan, Stanford y la Universidad de Nuevo Méjico. Méjico. Anteriormente Anteriormente trabajó para dos empresas fabricantes fabricantes de hardware, Intel Hypercube Hypercube y Computer. Computer. Además de ser el autor de la primera versión de MATLAB, Moler es uno de los autores de las bibliotecas de subrutinas LINPACK y EISPACK, utilizadas en todo el mundo. Cleve Cleve ha escrito varios libros libros de texto sobre métodos numéricos.
Jackk Lit Jac Little tle Director Ejecutivo (CEO)
Jack Little, es director director ejecutivo ejecutivo y co-fundador co-fundador de The The MathWorks, MathWorks, Inc. Fue el coautor y principal arquitecto de las versiones versiones inciales de MATLAB, Signal Signal Processi Processing ng Toolbox Toolbox y Control Control System Systems s Toolbox Toolbox..
Jack es licenciado licenciado en en ingeniería ingeniería eléctrica eléctrica por el el MIT (Massachuse (Massachusetts tts Institute of Technology) y licenciado en M.S.E.E. por la Universidad de Stanford. Es miembro de la IEEE. Se encarga de la escritura y divulgación de los calculos técnicos, Diseños Diseños Basado en Modelos, y temas de la industria del software.
© Miguel Ataur Ataurima ima Arella Arellano no
7
[email protected]
Las versiones de MATLAB Versión
Nombre liberado
Año
MATLAB 1.0
1984
MATLAB 2
1986
MATLAB 3
1987
MATLAB 3.5
1990
MATLAB 4
1992
MATLAB 4.2c
R7
1994
MATLAB 5.0
R8
1996
MATLAB 5.1
R9
1997
MATLAB 5.1.1
R9.1
MATLAB 5.2
R10
MATLAB 5.2.1
R10.1
MATLAB 5.3
R11
MATLAB 5.3.1
R11.1
MATLAB 6.0
R12
2000
MATLAB 6.1
R12.1
2001
Versión
1998
Año
MATLAB 6.5
R13
2002
MATLAB 6.5.1
R13SP1
2003
MATLAB 6.5.2
R13SP2
MATLAB 7
R14
MATLAB 7.0.1
R14SP1
MATLAB 7.0.4
R14SP2
MATLAB 7.1
R14SP3
MATLAB 7.2
R2006a
MATLAB 7.3
R2006b
MATLAB 7.4
R2007a
MATLAB 7.5
R2007b
MATLAB 7.6
R2008a
MATLAB 7.7
R2008b
MATLAB 7.8
R2009a
2004
2005
2006
2007
2008
2009
1999
© Miguel Ataur Ataurima ima Arella Arellano no
8
[email protected]
PROFESOR: Miguel Ataurima Arellano
Nombree liber Nombr liberado ado
6
[email protected]
BANCO CENTRAL DE RESERVA DEL PERÚ
MATLAB para Economistas – Sesión No.1
El Sistema MATLAB Herramientas de Escritorio y Entornos de Desarrollo
Es un conjunto de herramientas y servicios que ayudan ayudan a utilizar con mayor productividad productividad los archivos y funciones funciones MATLAB. Muchas de estas herramientas herramientas son de interfaces de usuario gráficas. Entre ellas podemos mencionar: El Escritorio MATLAB y la Ventana de Comandos, el editor/depurador, el analizador de código, los navegadores para la visualización de ayuda, el workspace, los archivos y otras mas.
La Biblioteca de Funciones Matemáticas
Es una vasta colección de algoritmos computacionales que abarca desde funciones, tales como sum, sine, cosine, y aritmética compleja, hasta funciones mas sofisticadas como la inversa de una matriz, los valores propios de una matriz, las funciones de Bessel, y la transformada rápida de Fourier.
El Lenguaje
El lenguaje MATLAB es un lenguaje de alto nivel basado en matrices/arreglos con sentencias de control de flujo, funciones, estructuras de datos, entrada/salida, y características de programación orientada a objetos. Esto permite “programar en pequeño” para inmediatamente crear programas rápidos que no se deseen reutilizar. reutilizar. También puede “programarse “programarse en grande” para crear programas de aplicación compleja que se deseen ser reutilizados.
Los Gráficos
MATLAB posee una gran variedad de capacidades para visualizar vectores y matrices en forma de gráficos, así como anotar e imprimirlos imprimirlos.. MATLAB posee funciones funciones de alto nivel para la visualización visualización de datos en dos y tres dimensiones, procesamiento de imágenes, animación, gráficos y presentación. MATLAB también incluye funciones de bajo nivel que permiten personalizar completamente el aspecto de los gráficos, así como completar completar la construcción construcción de interfaces gráficas en las aplicaciones aplicaciones MATLAB.
Las Interfaces Externas
Las bibliotecas bibliotecas de interfaces externas permiten escribir escribir programas en C y Fortran que interactúen interactúen con MATLAB. Esto incluye capacidades para invocar rutinas desde MATLAB (enlace dinámico), para invocaciones MATLAB como un motor de cálculo, y para la lectura y escritura de archivos MAT.
© Miguel Ataur Ataurima ima Arella Arellano no
9
[email protected]
El Escritorio MATLAB R2009 2009aa
Historial de Comandos Workspace Workspace Base
Ruta del Directorio actual de trabajo Contenido del Directorio actual de trabajo Ventana de Comandos
© Miguel Ataur Ataurima ima Arella Arellano no
Botón de Inicio de Rápido de Aplicaciones
10
[email protected]
PROFESOR: Miguel Ataurima Arellano
7
[email protected]
BANCO CENTRAL DE RESERVA DEL PERÚ
MATLAB para Economistas – Sesión No.1
BANCO CENTRAL DE RESERVA DEL PERÚ
Componentes Básicos de la Programación en MATLAB Los Comandos y las Funciones MATLAB Las Matrices El Workspace Las Clases (Tipos de Dato) Las Palabras Reservadas Comandos Especiales Las Funciones Internas MATLAB Las Expresiones y Operadores (elemento a elemento y matricial) Ayuda en línea EXPOSITOR:
Miguel Ataurima Arellano 11
INGENIERO CONSULTOR
Los Comandos Un comando es una orden o instrucción que el usuario proporciona a un sistema informático, desde la línea de comandos (shell) o desde una llamada de programación.
EJEMPLO: En el Sistema Operativo Windows
Iniciamos el intérprete de comandos (consola o shell). Damos clic en Inicio y elegimos la opción Ejecutar: Inicio | Ejecutar (*). Inmediatamente Inmediatamente se nos mostrará la ventana Ejecutar Ejecutar
cmd
En el cuadro de edición Abrir, digitamos cmd ; posteriormente, damos clic en Aceptar. Inmediatamente Inmediatamente se nos mostrará el Interprete de Comandos Comandos de Windows
(*) Otra forma es mediante: Inicio | Programas | Accesorios | Símbolo del Sistema © Miguel Ataur Ataurima ima Arella Arellano no
12
[email protected]
PROFESOR: Miguel Ataurima Arellano
8
[email protected]
BANCO CENTRAL DE RESERVA DEL PERÚ
MATLAB para Economistas – Sesión No.1
La Ventana Intérprete de Comandos de Windows describe el nombre y versión del Sistema Operativo junto con sus derechos de autor; seguido de la línea de comandos (línea de órdenes), desde la cual se ingresan los comandos. El conjunto de caracteres que se muestran en la línea de comandos para indicar que el Sistema Operativo Operativo está a la espera de órdenes se denomina denomina prompt. C:\Do C:\Docu cume ment nt and and Set Setti ting ngs\M s\Mig igue uel> l>
El punto de inserción inserción de comandos comandos en el prompt lo establece el cursor representado mediante una barra horizontal (subrayado) intermitente que se halla inmediatamente después del prompt. C:\Do C:\Docu cume ment nt and and Set Setti ting ngs\M s\Mig igue uel> l>
Los comandos se digitan desde la posición del cursor; y para su ejecución, éstos deben finalizarse presionando la tecla ENTER. Pruebe los siguientes comandos: ver ver, cls, dir y help.
© Miguel Ataurim Ataurimaa Arell Arellano ano
13
[email protected]
EJEMPLO: En el Sistema MATLAB
Elegimos la
Ventana de Comandos (intérprete de comandos de MATLAB).
A diferencia del Intérprete de Comandos de Windows, el directorio actual no se incluye en el prompt; éste es indicado en la barra de herramientas integrando un conjunto de directorios alternativos en la lista desplegable Curre Current nt Direc Directory tory.
El cursor está representado representado por una barra vertical intermitente. intermitente. Pruebe los siguientes comandos: ver , matlabroot pwd , pwd y help. ver, clc, dir matlabroot
NOTAS: • Dura Durant nte e el el procesamiento de un comando; comando; si éste involucra la ejecución de una gran cantidad de instrucciones, instrucciones, se visualizará la palabra Busy a la derecha del botón Start. • El tiempo de ejecución del comando dependerá de la complejidad complejidad de éste, del número del procesos que que a la vez éste ejecutando el Sistema Operativo; así como del hardware con que se cuente (la capacidad de memoria, tipo de procesador, etc.) © Miguel Ataur Ataurima ima Arella Arellano no
14
[email protected]
PROFESOR: Miguel Ataurima Arellano
9
[email protected]
BANCO CENTRAL DE RESERVA DEL PERÚ
MATLAB para Economistas – Sesión No.1
Los Comandos y las Funciones MATLAB Los Comandos MATLAB El valor de ans varía con cada comando que reporte un valor de salida que no se asigne a variable alguna.
Los Comandos MATLAB permiten calcular el resultado de una expresión ubicada a la derecha del signo igual, asignando el valor resultante a la variable ubicada a la izquierda (variable de salida).
>> 4.32*log10(1+0.135)-5 ans = -4.7624
>> y = 4.32*log10(1+0.135)-5 y = -4.7624
>> 3.13^2-sqrt(1/0.4217) ans = 8.2570
>>
Los comandos MATLAB no mostrarán el valor del resultado asignado a la variable de salida cuando culminen con punto y coma.
Se puede ingresar mas de un comando en una línea finalizándola con coma ( ) o punto y coma ( ). Los comandos terminados con coma muestran sus resultados cuando son ejecutados; mientras que los terminados con punto y coma, no.
>> y = 4.32*log10(1+0.135)-5 >>
Si no se asigna explícitamente la salida de un comando a una variable. MATLAB asigna el resultado a la palabra reservada ans.
>> d=4/3.14 ans = 2.8561 ans = 0.7334 w = 2.0073
>> 4.32*log10(1+0.135)-5 ans = -4.7624
1.3^4
exp(-0.31)
w=d+ans
© Miguel Ataur Ataurima ima Arella Arellano no
15
[email protected]
Cuando un comando genera mas de una salida, se debe especificar el conjunto de variables de salida separadas por espacio en blanco o con comas y encerrado, en conjunto, entre corchetes.
EJEMPLO: El comando deal distribuye los valores de cada uno de sus entradas en variables de salida separadas >> [A,B,C] = deal( [-12.3 4.89 -3.01] , pi*1.46, diag(12:4:24) ) A = -12.3000
4.8900
-3.0100
B = 4.5867 C = 12
0
0
0
0
16
0
0
0
0
20
0
0
0
0
24
© Miguel Ataur Ataurima ima Arella Arellano no
16
[email protected]
PROFESOR: Miguel Ataurima Arellano
10
[email protected]
BANCO CENTRAL DE RESERVA DEL PERÚ
MATLAB para Economistas – Sesión No.1
| Las Funciones MATLAB Generac ració ión n de una matri matriz z cuadr cuadrada ada de EJEMPLO: Gene tamaño tamaño 3x3 de elemen elementos tos aleatori aleatorios os compren comprendido didos s entre entre 0 y 1. 1.
Ejecutan un conjunto de instrucciones que toman como datos un conjunto de argumentos de entrada y devuelven como resultado un conjunto de argumentos de salida
>> A = rand(3) A = 0.0971 0.3171 0.8235 0.9502 0.6948 0.0344
nombreFcn u1 u2 : un
v 1 v 2 : v m
0.4387 0.3816 0.7655
Obtenció ción n de los los vecto vectores res propio propios sy EJEMPLO: Obten valores valores propios propios de la la matriz matriz del ejempl ejemplo o anterior anterior..
La sintaxis de una función MATLAB es
>> [V,D] = eig(A) V = 0.7903 -0.3303 -0.3635 -0.8614 -0.4932 -0.3860 D = -0.3225 0 0 1.4369 0 0
v [v ] = nombr mbreFcn eFcn( (u1,u2,...,un) 1,v 2,...,v m
donde: u1,u2,...,un : son los argumentos de entrada de la función v 1,v 2,...,v m : son los argumentos de salida de la función nombreFcn : es el nombre de la función
-0.0146 -0.8198 0.5725 0 0 0.6985|
© Miguel Ataur Ataurima ima Arella Arellano no
17
[email protected]
Las Matrices Sea la matri matriz z A de mxn mxn
a11 a 21 A a m1
a12
a1n
fila 1
a 22
a2n
fila 2
a mn mn
am 2
fila m
para ingresa ingresarla rla en MATLAB MATLAB digitam digitamos: os: fin de matriz
inicio de matriz
>> A = [ a11 a12 ... a1n ; a21 a22 ... a2n ; ... ; a m1 a m2 ... a mn ] fila 1 Nombre de la Matriz (variable)
fila 2 Separador de filas
fila m
NOTA: Los elementos de una misma fila deben separarse con espacio espacio en blanco blanco o coma coma ( ) Todas las filas deben contener n elementos. Todos los elementos deben ser de la misma clase
,
© Miguel Ataur Ataurima ima Arella Arellano no
18
[email protected]
PROFESOR: Miguel Ataurima Arellano
11
[email protected]
BANCO CENTRAL DE RESERVA DEL PERÚ
MATLAB para Economistas – Sesión No.1
EJEMPLOS Ingresar la matriz
3 2 1 0 4 9 M 1 7 8 9 11 3
>> M = [-3 2 1; 0 4 9; 1 7 8; 9 11 -3] M = -3 0 1 9
2 4 7 11
1 9 8 -3
Respuesta
Operador Transpuesta
Ingresar la matriz
5 4 V 0 7
>> V = [-5; 4; 0; 7]
>> V = [-5 4 0 7]
V =
.'
V = -5 4 0 7
Respuesta
-5 4 0 7
o
Respuesta
© Miguel Ataur Ataurima ima Arella Arellano no
19
[email protected]
EJEMPLO Ingresar la matriz
4 i 2 i B 3i 3 i donde
i
1
>> o >> o >> o >>
B = [4+i 2+i; -3i 3-i] B = [4+j 2+j; -3j 3-j] B = [4+i 2+j; -3j 3-i] B = [4+i 2+j; -3*j 3-i]
B = 4.0000 + 1.0000i 0 - 3.00 3.0000 00i i
2.0000 + 1.0000i 3.00 3. 0000 00 - 1.00 1.0000 00i i Respuesta
NOTA: La unidad imaginaria es representada en MATLAB por i o j Se pueden usar indistintamente en una expresión. Basta que uno de los elementos de una matriz sea complejo, y Matlab considerar consideraráá a todos los demás demás como complejo. complejo.
© Miguel Ataur Ataurima ima Arella Arellano no
20
[email protected]
PROFESOR: Miguel Ataurima Arellano
12
[email protected]
BANCO CENTRAL DE RESERVA DEL PERÚ
MATLAB para Economistas – Sesión No.1
EJEMPLO
elipsis
Concatenar las matrices
3 2 1 0 4 9 M 1 7 8 9 11 3
>> M = [-3 2 1; 0 4 9; ... 1 7 8; 9 11 -3];
5 4 V 0 7
>> V = [-5; 4; 0; 7]; >> Q = [-2 1 12 17]; >> R = [ M V ; Q ]
Q = éê-2 1 12 17 ùú ë û
R =
de manera que se obtenga la matriz R
é M |V ù ú R=ê ê Q ú ë û
-3
2
1
-5
0
4
9
4
1
7
8
0
9
11
-3
7
-2
1
12
17
© Miguel Ataur Ataurima ima Arella Arellano no
21
[email protected]
El Works Workspac pacee Base Base Es el área de la memoria del sistema donde MATLAB registra a todas las variables que van siendo creadas durante una sesión.
EJEMPLO
workspace
>> x = [35.56 34] x = 35.5600 34.0000
x
La variable x es creada y almacenada en el workspace.
Mientras que que una variable variable esté esté en el workspace, workspace, ésta podrá podrá ser utilizada en en otros cálculos.
EJEMPLO
y
>> y = [-15 -12] + x y = 20.5600 22.0000 Memoria del Sistema © Miguel Ataur Ataurima ima Arella Arellano no
22
[email protected]
PROFESOR: Miguel Ataurima Arellano
13
[email protected]
BANCO CENTRAL DE RESERVA DEL PERÚ
MATLAB para Economistas – Sesión No.1
whos Lista las variables actualmente vigentes del workspace >> whos Name B M V x y
workspace Size 2x2 4x3 4x1 1x2 1x2
Bytes Class 64 double array (complex) 96 double array 32 double array 16 double array 16 double array
Grand total is 24 elements using 224 bytes
B M V x y
whos wh os va var1 r1 va var2 r2 .. ... . Solo lista las variables especificadas >> whos hos B M Name Size B 2x2 M 4x3
Bytes Class 64 double array (complex) 96 double array
Grand total is 16 elements using 160 bytes
© Miguel Ataur Ataurima ima Arella Arellano no
23
[email protected]
clea cl ear r va var1 r1 va var2 r2 .. ... . Borra solo las variables especificadas (var1, var2, ...) >> clear >> whos Name B x y
workspace
M V
(estado inicial)
Size 2x2 1x2 1x2
Bytes Class 64 double array (complex) 16 double array 16 double array
B M V x y
Grand total is 8 elements using 96 bytes
clear Borra todas las variables del workspace
>> clear >> whos >>
NOTA: Una vez eliminado el contenido entero del workspace, una llamada a whos, nos retorna de inmediato el prompt, pues no hay nada que listar. Una vez que una variable ha sido borrada del workspace, ésta no será posible de volver a recuperar.
© Miguel Ataur Ataurima ima Arella Arellano no
24
[email protected]
PROFESOR: Miguel Ataurima Arellano
14
[email protected]
BANCO CENTRAL DE RESERVA DEL PERÚ
MATLAB para Economistas – Sesión No.1
Las Clases (Tipos de Dato) En MATLAB existen
15 clases (tipos de datos) fundamentales.
Cada uno de ellos esta dado en forma de un arreglo. Un arreglo puede crecer de tamaño desde 0x0 (Matriz Nula, dimensión 2) hasta otro de cualquier tamaño y de cualquier dimensión. ARREGLO n DIMENSIONAL (full o sparse)
BOOLEANO
NUMERICO
1 Byte
TEXTO
CONTENEDOR HETEROGÉNEO
2 Bytes
PUNTO FLOTANTE
SIMPLE PRECISIÓN
MANIPULADOR DE FUNCIÓN
ENTERO
DOBLE PRECISIÓN
CON SIGNO
BASA BA SADO DO EN EN NOMBR NOMBRE E
SIN SIGNO
BASAD BA SADO O EN IND INDIC ICE E
UNIDADES DE MEDIDA DE INFORMACIÓN = 23 bits = 8 bits
1 Byte(B)
1 KiloByte(kB) = 210 B
4 Bytes
= 1024 B
1 MegaByte(MB) = 210 kB = 102 1024 4 KB KB
8 Bytes
1 GigaByte(GB) = 210 MB = 1024 MB 1 TeraByte(TB) = 210 GB = 1024 GB © Miguel Ataur Ataurima ima Arella Arellano no
25
[email protected]
Combinación de Distintas Clases
Cuando una matriz matriz es compuesta con elementos de distinto tipo de dato, MATLAB convierte algunos elementos de tal manera que todos los elementos de la matriz sean del mismo tipo.
La conversión del tipo de dato es efectuada con respecto a la de los tipos de datos.
La concatenación con distintos tipos de dato sin generación de error se pueden dar solo con cinco de ellos.
TIPO
char
char
precedencia predefinida
NUMERICO
logical
entero
single
double
char
char
char
char
entero
char
entero
entero
entero
entero
single
char
entero
single
single
single
double
char
entero
single
double
double
inválido
entero
single
double
logical
logical © Miguel Ataur Ataurima ima Arella Arellano no
inválido
26
[email protected]
PROFESOR: Miguel Ataurima Arellano
15
[email protected]
BANCO CENTRAL DE RESERVA DEL PERÚ
MATLAB para Economistas – Sesión No.1
Las Palabras Reservadas Son aquellas que son de uso exclusivo del interpretador MATLAB. El listado de las palabras reservadas lo obtenemos mediante el comando iskeyword . >> iskeyword ans = 'break' 'case' 'catch' 'classdef' 'continue' 'else' 'elseif' 'end' 'for' 'function' 'global' 'if' 'otherwise' 'parfor' 'persistent' 'return' 'spmd' 'switch' 'try' 'while'
Palabras Reservadas de MATLAB incluidas en la versión R2009a
© Miguel Ataur Ataurima ima Arella Arellano no
27
[email protected]
Comandos Especiales MATLAB posee funciones (comandos) que retornan valores de gran importancia, los cuales son utilizados a menudo en la mayoría de programas MATLAB.
Función
Valor retornado
ans
Retorna el valor de salida de alguna expresión que no ha sido asignada a alguna variable.
eps
Precisión relativa de punto flotante
intmax
Entero mas grande que la computadora puede representar.
intmin
Entero mas pequeño que la computadora puede representar.
realmax
Numero de Punto Flotante mas grande que la computadora puede representar.
realmin
Numero de Punto Flotante mas pequeño que la computadora puede representar.
pi
3.1415926535897...
i, j
Unidad imaginaria.
Inf
Infinito (n/0).
NaN computer version
Not a Number. (representa (representa una indeterminación indeterminación:: 0/0 , inf/inf, inf-inf, ...). Tipo de computadora. Cadena con la versión de MATLAB.
© Miguel Ataur Ataurima ima Arella Arellano no
28
[email protected]
PROFESOR: Miguel Ataurima Arellano
16
[email protected]
BANCO CENTRAL DE RESERVA DEL PERÚ
MATLAB para Economistas – Sesión No.1
Las Funciones Internas de MATLAB La funciones provistas por MATLAB (funciones internas) pueden ser:
Funciones de archivo M, aquellas que son implementadas como archivos M. Funciones built-ins, aquellas que son programas ejecutables precompilados.
Muchas de las funciones MATLAB internas están sobrecargadas, de manera que puedan manipular diferentes tipos de dato eficientemente. Las funciones internas de MATLAB se encuentran en los subdirectorios del directorio toolbox\matlab
Para listar las funciones de cada subdirectorio (categoría) y poder acceder a cceder a la documentación de cada una de las funciones que éstas contienen, digitamos doc o help seguido del nombre del subdirectorio desde el prompt de la ventana ventana comandos.
NOTA: A diferencia de las funciones de archivo M , las funciones built-ins no permiten ver su código fuente; sin embargo, la mayoría de éstas funciones tienen un archivo M asociado a ellas, el cual solo contiene documentación de ayuda para la función. © Miguel Ataur Ataurima ima Arella Arellano no
29
[email protected]
Las Expresiones y Operadores en MATLAB Las expresiones están constituidas por la combinación de operadores aritméticos, relacionales y lógicos aplicados sobre operandos.
a) Expresión UNARIA OPERANDO Operador
b) Expresión BINARIA Operador1 OPERANDO Operador2
En MATLAB, las expresiones son evaluadas de izquierda a derecha Cuando las expresiones son evaluadas se sigue la regla de precedencia de operadores MATLAB • • • • • • • • • • •
Paréntesis () Transpuesta (.'), potenciación (.^), transpuesta conjugada('), potenciación matricial(^) Mas Mas unario unario (+), menos menos unario unario (-), negación lógica (~). Multiplicación (.*), división derecha ( ./), división izquierda ( .\), mutiplicaci mutiplicación ón matricial( matricial(*), división derecha matricial(/), división izquierda matricial (\) Adición (+), sustracción (-) Operador dos puntos (:) Menor que < ( ), menor o igual ), mayor o igual que ( >=), idéntico a (==), ), diferente de (~=) AND elemento a elemento (&) OR elemento a elemento (|) AND en corto circuito ( &&) OR en corto circuito (||)
© Miguel Ataur Ataurima ima Arella Arellano no
30
[email protected]
PROFESOR: Miguel Ataurima Arellano
17
[email protected]
BANCO CENTRAL DE RESERVA DEL PERÚ
MATLAB para Economistas – Sesión No.1
Los Operadores Aritméticos Las operaciones aritméticas se determinan dependiendo de la concepción que se tenga sobre el arreglo. MATLAB permite concebir una disposición de valores de una misma clase en filas y columnas como arreglo o matriz .
Como arreglo, las operaciones aritméticas serán elemento a elemento (elementwise);
Como matriz , las operaciones aritméticas son las basadas en reglas del álgebra lineal . TIPO
OPERACIÓN
MATRIZ
ARREGLO
Adición
+
+
Sustracción
–
–
Multiplicación
*
.*
División Izquierda
\
.\
División Derecha
/
./
Exponenciación
^
.^
© Miguel Ataur Ataurima ima Arella Arellano no
31
[email protected]
Los Operadores: Tipo Arreglo (elemento a elemento)
© Miguel Ataur Ataurima ima Arella Arellano no
32
[email protected]
PROFESOR: Miguel Ataurima Arellano
18
[email protected]
BANCO CENTRAL DE RESERVA DEL PERÚ
MATLAB para Economistas – Sesión No.1
Los Operadores: Tipo Matriz (reglas del álgebra lineal)
© Miguel Ataur Ataurima ima Arella Arellano no
33
[email protected]
Funciones Equivalente Equ ivalentess Todas estas operaciones tienen sus equivalentes en forma de funciones MATLAB Internas.
OPERACIÓN ARITMÉTICA
Adición binaria Mas unario Sustracción binaria Menos unario
EXPRESIÓN
A+B
plus(A,B)
+A A-B
uplus(A) minus(A,B)
-A
unminus(A)
A*B
mtimes(A,B)
Multiplicación de arreglos
A.*B
times(A,B)
División derecha matricial
A/B
mrdivide(A,B)
A./B
rdivide(A,B)
A\B
mldivide(A,B)
Multiplicación matricial
División derecha de arreglos División izquierda matricial
División izquierda de arreglos A.\B Potenciación matricial Potenciación de arreglos
A^B
ldivide(A,B) mpower(A,B)
A.^B power(A,B)
Transpuesta compleja
A'
Transpuesta matricial
A.'
© Miguel Ataur Ataurima ima Arella Arellano no
ctranspose(A) transpose(A)
34
[email protected]
PROFESOR: Miguel Ataurima Arellano
FUNCIÓN EQUIVALENTE
19
[email protected]
BANCO CENTRAL DE RESERVA DEL PERÚ
MATLAB para Economistas – Sesión No.1
Los Operadores Relacionales Los operadores relacionales relacionales comparan los operandos operandos cuantitativamente cuantitativamente,, usando los siguientes operadores
Operador < >
Descripción Menor que Mayor que
=
Mayor o igual que
==
Igual a
~=
Diferente de
Realizan las comparaciones elemento a elemento entre los operandos. Retornan un arreglo de la clase
logical de la dimensión de los operandos.
1 lógico (true) : si la relación es verdadera 0 lógico (false) : si la relación es falsa.
© Miguel Ataur Ataurima ima Arella Arellano no
35
[email protected]
Los Operadores Lógicos Los hay de tres tipos
Elemento a Elemento Operador &
Retorna 1 lógico (true) en caso sean verdaderos ambos elementos de las mismas posiciones en los arreglos; en caso contrario retorna 0 lógico (false).
|
Retorna 0 lógico (false) en caso sean falsos ambos elementos de las mismas posiciones en los arreglos; en caso contrario retorna 1 lógico (true).
~
Complementa cada elemento del arreglo
xor
Descripción
Retorna 1 (lógico) en caso sean verdaderos un elemento y falso el otro elemento cuyas posiciones en los arreglos sea la misma; en caso contrario retorna 0 lógico (false).
Bitt a Bit Bi Bit bitand bitor Compara cantidade cantidades s binarias, bit a bit: bitand , bitor bitcmp , bitcmp y bitxor.
Corto Circuito Evaluan el segundo operando solo solo cuando el resultado no quede completamente determinado por la evaluación del primer operando.
Operador
Descripción
&&
Retorna 1 lógico (true) si ambas entradas son verdaderas; y el 0 lógico si alguna de ellas no lo es.
||
Retorna 1 lógico (true) si una o ambas entradas son verdaderas; y el 0 lógico si ambas no lo son.
© Miguel Ataur Ataurima ima Arella Arellano no
36
[email protected]
PROFESOR: Miguel Ataurima Arellano
20
[email protected]
BANCO CENTRAL DE RESERVA DEL PERÚ
MATLAB para Economistas – Sesión No.1
Ayuda en línea Se puede acceder a información respecto al uso de un comando o función de dos formas
A través de la Ventana de Comandos Se digita el comando help seguido del comando o función a consultar >> help >> help eig EIG
Eigenv Eig envalue alues s and eig eigenve envector ctors. s.
E = EIG(X) is a vector vector contain containing ing the eigenvalu eigenvalues es of a square square matrix X. [V,D] = EIG(X) EIG(X) produ produces ces a diagonal diagonal mat matrix rix D of eigenvalues eigenvalues and a full matrix V whose columns are the corresponding eigenvectors so that X*V = V*D. :
A través través del Help Help Browse Browser r Se digita el comando doc seguido del comando o función a consultar >> doc >> doc eig
© Miguel Ataur Ataurima ima Arella Arellano no
37
[email protected]
PROFESOR: Miguel Ataurima Arellano
21
[email protected]
BANCO CENTRAL DE RESERVA DEL PERÚ
MATLAB para Economistas – Sesión No.1
BANCO CENTRAL DE RESERVA DEL PERÚ
Indexación de Matrices Los Vectores Rango La Indexación Bidimensional La Indexación Lineal La Indexación Lógica El operador : La palabra reservada end
EXPOSITOR:
Miguel Ataurim Ataurima a Arellan Arellano o 38
INGENIERO CONSULTOR
Los Vectores Rangos Permiten generar vectores fila a través de una progresión aritmética Pueden ser de dos tipos: vi:vf
Genera una secuencia numérica iniciando en
vi e incrementándose en +1 unidades hasta llegar a vf .
>> t = 2008:2011 t = 2008
2009
2010
2011
vi:step:vf
Genera una secuencia numérica iniciando en
vi e incrementándose en step unidades hasta vf .
>> t = 2008: 3:2014 t = 2008
2011
2014
>> t = 2008: 3:2018 t = 2008
2011
2014
2017
inconsistente, MATLAB generará como resultado resultado una matriz vacía (1x0). NOTA: En caso algún rango sea inconsistente, © Miguel Ataur Ataurima ima Arella Arellano no
39
[email protected]
PROFESOR: Miguel Ataurima Arellano
22
[email protected]
BANCO CENTRAL DE RESERVA DEL PERÚ
MATLAB para Economistas – Sesión No.1
La Indexación Bidimensional Dada la matriz
elementos A de mxn elementos
A =
1
2
c1
c2
n
1
a1,1
a2,1
a1,c1
a1,c2
a1,n
2
a2,1
a2,2
a2,c1
a2,c2
a2, n
a1 ,1
af1 ,2
f2
a 2 ,1
af2 ,2
m
am,1
am,2
1f
af1 , c1
af1 , c2
a f1 , n
af2 , c1
af2 , c2
a f2 , n
am, c1
am, c2
a m, n
Para hacer referencia (indexar) a los elementos comprendidos entre las filas f1 y f2 y columnas c1 y c2 mediante el uso de dos índices rango lo hacemos así A(
f1:f2
,
rango de filas
c1:c2
)
rango de columnas
© Miguel Ataur Ataurima ima Arella Arellano no
40
[email protected]
La Indexación Lineal La indexación lineal, se lleva acabo cuando se desea hacer referencia a un elemento de una matriz mediante un solo índice. 1
A =
2
1
a11
1
a12
m +1
2
a21
2
a22
m +2
p
a p1
m
am 1
a1q a2q
p
m +p
a pq
m
a m 2
(q -1)m +1
(q -1)m +2
n
a1n
(n -1)m +1
a2n
(n -1)m +2
a p2
q
2m
a mq
(q -1)m +p
k
(q -1)m +m
a pn
(n -1)m +p
a mn (n -1 )m +m
Para llevarlo a cabo utilizamos
A( 1:k ) donde k hace referencia al elemento de índice p ( ,q ) y se relaciona mediante
k = (q-1)m + p © Miguel Ataur Ataurima ima Arella Arellano no
41
[email protected]
PROFESOR: Miguel Ataurima Arellano
23
[email protected]
BANCO CENTRAL DE RESERVA DEL PERÚ
MATLAB para Economistas – Sesión No.1
La Indexación Lógica Se utiliza como índice índice una matriz con elementos elementos de la clase logical logical (B), de la misma dimensión que la de la matriz por indexar (A).
A(B) El resultado de la indexación, indexación, será el listado (en forma de vector columna) de los elementos de la matriz A, cuyos valores lógicos respectivos (de la misma posición en fila y columna) en la matriz B sean 1 lógico.
EJEMPLO: Sean las matrices A y B que se indican ( B matriz de lógicos): é 12 32 11 4 ù ê ú ê 11 3 3 34 ú ú A = êê ú ê 23 23 45 2 ú ê 45 17 23 1 ú êë úû
Entonces: >> E = A(B) E= 45 3
é ê ê B = êê ê ê êë
45
0 0 0 1
0 1 0 0
0 0 1 1
0 ùú 1 úú 0 úú 0 úú û
valores lógicos
23
NOTA:
34
El rastreo se hace por columnas por columnas y el resultado es devuelto en forma de vector columna
© Miguel Ataur Ataurima ima Arella Arellano no
42
[email protected]
El operador : Permite hacer referencia a todo un rango de fila o de columna, según donde sea especificado.
EJEMPLO: Sea la matriz R æ47 çç çç57 çç çç67 çç çç77 ç R = ççç 6 çç çç16 çç26 çç çç36 çç ç èç37
58 68 78 7 17 27 28 38 48
69 79 8 18 19 29 39 49 59
80 9 10 20 30 40 50 60 70
1 ö÷ ÷÷ 11÷÷ ÷÷ 21÷÷÷ ÷ 31÷÷÷ ÷ 41÷÷÷ ÷ 51÷÷÷ ÷ 61÷÷÷ ÷ 71÷÷÷ ÷ 81ø÷÷÷
>> A = R( 2:5 , : ) A = 57 68 79 67 78 8 77 7 18 6 17 19
11 21 31 41
50
61
>> B = R( : , 3:5 ) B = 69 80 1 79 9 11 8 10 21 18 20 31 19 30 41 29 40 51 39 50 61 49 60 71 59 70 81 >> C = R( 7 , : ) C = 26 28 39
© Miguel Ataur Ataurima ima Arella Arellano no
43
[email protected]
PROFESOR: Miguel Ataurima Arellano
9 10 20 30
24
[email protected]
BANCO CENTRAL DE RESERVA DEL PERÚ
MATLAB para Economistas – Sesión No.1
La palabra reservada end La palabra reservada end, al utilizarse en indexación, indica el último índice del rango posible de la dimensión (fila ó columna) en la que aparezca.
EJEMPLO: Sea la matriz R
>> D = R(6:9,end) D = 51
æ47 çç çç57 çç çç67 çç çç77 ç R = ççç 6 çç çç16 çç26 çç çç36 çç ç èç37
58 68 78 7 17 27 28 38 48
69 79 8 18 19 29 39 49 59
80 9 10 20 30 40 50 60 70
1 ö÷ ÷÷ 11÷÷ ÷÷ 21÷÷ ÷÷ 31÷÷÷ ÷ 41÷÷÷ ÷ 51÷÷÷ ÷ 61÷÷÷ ÷ 71÷÷÷ ÷÷ 81ø÷÷
61 71 81 >> D = R(end,:) D = 37
59
70
81
>> D = R(end,end-1)
>> D = R(end-1)
D =
D = 71
70 >> D = R(end,end)
>> D = R(end)
D =
D = 81
© Miguel Ataur Ataurima ima Arella Arellano no
81 44
[email protected]
PROFESOR: Miguel Ataurima Arellano
48
25
[email protected]
BANCO CENTRAL DE RESERVA DEL PERÚ
MATLAB para Economistas – Sesión No.1
BANCO CENTRAL DE RESERVA DEL PERÚ
Gestión de Archivos en MATLAB Los Tipos de Archivo soportados por MATLAB Importación y Exportación de Datos en Formato Texto Importación y Exportación de Datos en Formato MATLAB Importación y Exportación de Datos en Formato Excel Generación Generación de Sentencias LaTeX a partir de variables MATLAB
EXPOSITOR:
Miguel Ataurima Arellan Arellano o 45
INGENIERO CONSULTOR
Los Tipos de Archivo soportados por MATLAB Los Tipos de Archivo Todos los datos almacenados en el sistema MATLAB (workspace) son binarios, es decir descritos con ceros y unos; comúnmente suelen almacenarse en archivos, los cuales se clasifican en dos grandes grupos:
Archivos de Texto, son aquellos cuyos códigos binarios son interpretados directamente como caracteres (letras, dígitos y/o símbolos) especificados en código UNICODE (extensión del ASCII) por cualquier editor universal del texto.
Por ejemplo: .txt, .m, .dyn, .tex, etc. 1010 1111 … 1001 0010 …
Archivos Binarios, son aquellos cuyos códigos binarios son interpretados según el programa en el que fueron generados; por lo general, no tienen interpretación interpretación en forma de texto.
Por ejemplo: .mat, .jpg, .xls, etc. 0010 0111 … 0111 1010 …
© Miguel Ataurim Ataurimaa Arella Arellano no
46
[email protected]
PROFESOR: Miguel Ataurima Arellano
26
[email protected]
BANCO CENTRAL DE RESERVA DEL PERÚ
MATLAB para Economistas – Sesión No.1
Importación de datos
clipboard
[ CTRL + C ]
Es el proceso que permite cargar datos desde archivos de disco o del clipboard a variables del workspace.
ó n ó c i a t r p o i m
Exportación de datos
archivo importación
Es el proceso que permite almacenar variables del workspace a archivos de disco. workspace ( variables )
e x p o r t a c i ó n
archivo
NOTAS: • Los mecanismos de importación o exportación dependen de los datos a transferirse. • El conjunto de funciones MATLAB que permiten realizar la Exportación e Importación de datos frecuentemente se les denominan funciones I/O de alto nivel. • Para el caso de datos que que no sean soportados soportados por las funciones I/O de alto nivel se cuenta con las funciones I/O de bajo nivel las cuales están basadas en la Biblioteca ANSI del C Estándar. © Miguel Ataurim Ataurimaa Arella Arellano no
47
[email protected]
Los Tipos de Archivo soportados por MATLAB Tipo de Archivo Texto
Dato con formato MATLAB (binario MATLAB) Hoja de cálculo
Extensión cualquiera
MAT XLS XLSX XLSB XLSM WK1
Descripción
Función de Importación
Función de Exportación
Numeros delimitados con espacio en blanco blanco
load
save sa ve -a -asc scii ii
Numeros Numeros delimitad delimitados os
dlmread
dlmwrite
Numeros delimitados con con comas comas
csvread
csvwrite
Cualquier de los formatos previos, o una mixtura de cadenas y numeros
textscan
Variable(s) almacenada(s) almacenada(s) en el Workspace de MATLAB
load
save
Hoja de Cálculo Cálculo Microsoft Microsoft Excel
xlsread
xlswrite
Formato soportado soportado por Lotus 1-2-3
wk1read
wk1write
Formatos soportados soportados con Excel® 2007
Extended Markup Language
XML
Texto con formato XML
xmlread
xmlwrite
Dato Científico
CDF
Formato de Dato Común
cdfread
cdfwrite
Flexible Flexible Image Image Transport Transport System System
fitsread
none
Hierarchi Hierarchical cal Data Format, Format, version version 4, o HDF-EOS v. 2
hdfread
HDF o HDF-EOS, HDF-EOS, version version 5
hdf5read
hdf5write
Network Common Data Form (netCDF)
netcdf
netcdf
FITS HDF H5 NC © Miguel Ataurim Ataurimaa Arella Arellano no
48
[email protected]
PROFESOR: Miguel Ataurima Arellano
27
[email protected]
BANCO CENTRAL DE RESERVA DEL PERÚ
MATLAB para Economistas – Sesión No.1
Importación y Exportación de Datos en Formato Texto La importación o exportación en formato texto se efectúa considerando por cada archivo una sola variable.
Importación
load nombrearchivo load –as –ascii cii nom nombrea brearch rchivo ivo
Carga el archivo archivo en una variable variable del workspace con nombre nombrearchivo. nombrearchivo. El archivo debe contener los números separados por un caracter espacio en blanco y distribuidos en forma matricial, separando las filas con un cambio de línea. miv mivari ariable able = load load('no ('nombr mbrearc earchivo hivo') ') Carga el archivo en una variable con el nombre especificado en mivariable mivari mivariable able = dlmr dlmread('no ead('nombrearch mbrearchivo' ivo' , strDeli strDelimitador) mitador) Carga el archivo en una variable con el nombre especificado en mivariable especificando en la cadena strDelimitador , el caracter de separación utilizado entre entre los números.
Exportación
save save nomb nombrea rearc rchi hivo vo vari variabl able e -asci -ascii i
Guarda el contenido de la variable en el archivo nombrearchivo en formato numérico separando los elementos en las filas por un caracter espacio en blanco. blanco. dlmwrite('nombrearchivo', variable, strDelimitador) Guarda el contenido de la variable en el archivo nombrearchivo en formato numérico delimitando los elementos en las filas con el carácter especificado en strDelimitador .
© Miguel Ataurim Ataurimaa Arella Arellano no
49
[email protected]
Importación y Exportación de Datos en Formato MATLAB La importación o exportación en formato binario MATLAB (doble precisión) se efectúa considerando por cada archivo una o mas variables.
Importación
load nombrearchivo
nombrearchivo.mat al workspace. Carga todas las variables contenidas en nombrearchivo.mat Si el archivo no tiene tiene formato binario MATLAB, MATLAB, lo tratará como texto. load nombrearchivo var1 nombrearchivo var1 var2 ...
Carga las variables var1 var2 ... contenidas en nombrearchivo
Exportación
save save nomb nombrea rearc rchi hivo vo
nombrearchivo.mat Guarda todas las variables contenidas contenidas en el workspace en el archivo nombrearchivo.mat save save nomb nombrea rearc rchi hivo vo var1 var1 var2 ... nombrearchivo.mat Carga las variables var1 var2 ... en el archivo nombrearchivo.mat
© Miguel Ataurim Ataurimaa Arella Arellano no
50
[email protected]
PROFESOR: Miguel Ataurima Arellano
28
[email protected]
BANCO CENTRAL DE RESERVA DEL PERÚ
MATLAB para Economistas – Sesión No.1
Importación y Exportación de Datos en Formato Excel Importación
variable = xlsread('nombrearchivo', numHoja, strRango)
Carga en variable el contenido en el rango strRango, strRango, ubicado en la hoja numHoja, numHoja, del archivo nombrearchivo.xls nombrearchivo.xls
Exportación
xlswrite('nombrearchivo', variable xlswrite('nombrearchivo', variable, , numHoja, strCeldaInicial)
Guarda el contenido de variable a partir de la celda strCelda, strCelda, ubicada en la hoja numHoja, numHoja, del archivo nombrearchivo.xls nombrearchivo.xls
EJEMPLO: Analizar las siguientes comandos: >> pbi = xlsread('pbi1950-2008',3,'B2:B60'); >> pbivar = diff(pbi)./pbi(1:end-1); >> xlswrite('pbi1950-2008',pbivar,3,'C3');
pbi pbivar workspace ( variables ) 1
2
3
4
5
© Miguel Ataurim Ataurima a Arell Arellano ano
51
[email protected]
Generación Generación de Sentencias Sentencias LaTeX LaTeX a partir de variables MATLAB Para representar el contenido de una variable MATLAB en formato LaTeX: 1. Se convierte a formato simbólico si mbólico el contenido de alguna variable numérica MATLAB aplicando la función sym. >> M = magic(5) M = 17
24
1
8
15
23
5
7
14
16
4
6
13
20
22
10
12
19
21
3
11
18
25
2
9
>> x = sym(M);
2. Se aplica el comando latex sobre el objeto simbólico que representa a la variable numérica obteniéndose obteniéndose la sentencia sentencia LaTeX como respuesta. >> eq1 = latex(x) eq1 = \left(\begin{a \left(\ begin{array}{c rray}{ccccc} cccc} 17 & 24 & 1 & 8 & 15\\ 15\\ 23 & 5 & 7 & 14 & 16\\ 4 & 6 & 13 & 20 & 22\\ 10 & 12 12 & 19 19 & 21 & 3\\ 11 & 18 & 25 25 & 2 & 9 \end{array}\right)
© Miguel Ataurim Ataurimaa Arella Arellano no
52
[email protected]
PROFESOR: Miguel Ataurima Arellano
29
[email protected]