Your Federal Quarterly Tax Payments are due April 15th Get Help Now >>

MANUAL DE MATLAB - UNAM - Portal de la Universidad Nacional by icf1n7h

VIEWS: 16 PAGES: 11

									                        MANUAL INTRODUCTORIO DE MATLAB
                             POR CARLOS VLADIMIR RODRÍGUEZ CABALLERO


        MATLAB QUÉ ES Y PARA QUÉ


        MATLAB® (Matrix Laboratory) es un software desarrollado por MathWorks. Ha
contado con una diversa gama de modificaciones desde el primer software hasta el último. De
hecho la evolución del software fue alcanzado con la versión 6 la cual incluye diversos tipos
de toolboxes que más adelante se mencionarán.
        MATLAB® es un software especializado de programación matemática idóneo para la
investigación científica y para diversas aplicaciones en general. Dicho de otra forma
MATLAB es un lenguaje de alto nivel para la computación técnica, tal y como lo definen sus
creadores. Esto integra computación, visualización y una programación es un medio ambiente
de fácil uso donde los problemas y las soluciones son expresadas en una notación matemática
familiar. Las rutinas de MATLAB son frecuentemente encontradas cuando se quiere trabajar
con matrices ya que el lenguaje de programación que es utilizado por el software es como un
tipo de híbrido entre lenguaje C con una orientación en matrices.
        La innovación de las últimas dos versiones de MATLAB depende ciento por ciento de
la incrustación de una serie de programas preestablecidos denominados “toolbox”. Los nuevos
toolboxes varían dependiendo su uso y abarcan tópicos como los financieros, estadísticos,
bases de datos, procesamiento de señales y los modelos GARCH para las series de tiempo.
Aunado a estos se encuentran los de siempre, es decir todos los mecanismos para la
visualización experta de métodos de cálculo y demás funciones matemáticas.
        Ahora bien, comprendiendo que es MATLAB, es importante saber cuales son sus usos
potenciales tanto en la investigación científica como en su utilización en las ciencias aplicadas.
Veamos solo algunos ejemplos citados ya en diversas bibliografías.
        MATLAB es el software idóneo cuando se estudia y se trabaja con análisis numérico y
métodos numéricos. En el cálculo diferencial e integral y sus aplicaciones se pueden suponer
varios usos cuando se quiere estudiar ésta área de la matemática en un sentido numérico no
analítico, ejemplos de esto puede ser la simple aproximación numérica de una derivada o una
integral hasta el cálculo numérico aproximado de una ecuación diferencial de algún grado.
También se pueden estudiar diversos tipos de funciones desde su perspectiva gráfica. En el
análisis numérico es posible implementar rutinas en MATLAB para resolver grandes sistemas
de ecuaciones mediante una visión matricial, pudiendo, a través de funciones preestablecidas,
encontrar las matrices inversas, determinantes, transpuestas, y cada una de los demás
resultados en el álgebra lineal y el álgebra matricial.
        En estadística y probabilidad la utilización de MATLAB es impresionante, de hecho
programas puramente determinados para labores estadísticos como STATISTICA Y SPSS se
quedan cortos debido al nuevo toolbox de estadística que MATLAB posee. En ésta área es
posible estudiar toda la faceta estadística de un problema común, es decir desde el
planteamiento del problema hasta el modelaje o el pronóstico. Se pueden hacer estudios
completos de análisis de regresión contando toda la faceta de verificación de errores. Se
pueden plantear y simular todos o la mayoría de los modelos estocásticos como las cadenas de
Markov, los procesos Poisson, movimientos Brownianos, etc.
        En finanzas, los nuevos toolboxes financieros denominados “financial, financial time
series y financial derivatives” permiten hacer estudios adecuados en cuanto al cálculo de
primas de aseguramiento, tasa de interés, precios de bonos y acciones. También es posible
desarrollar un estudio técnico, utilizar los mecanismos de las series de tiempo financieras y
trabajar con los instrumentos financieros más modernos que son los productos financieros
derivados. De hecho el financial derivatives toolbox permite realizar análisis completos del
precio de una opción a través del modelo de Black & Scholes.
         De hecho los modelos más especializados en series de tiempo, en econometría y
simulación estocástica, tecnológicamente imposibles de realizar hace unos cuantos años, se
empiezan a desarrollar en distintos lados del urbe que van desde la investigación científica
teórica hasta la toma de decisiones de planeación financiera y política económica en
instituciones gubernamentales.
        Es por esto que es fácil entender porque MATLAB es un software que si bien no es
perfecto, si lleva la delantera en comparación con otros softwares. Ahora bien, reconociendo el
uso potencial de MATLAB también es necesario comprender que ningún software es perfecto
y se necesita el apoyo de otro tipo de programas como son los siguientes:
        Excel            base de datos
        Economática      base de datos financieros
        SPSS             estadística
        Statistica       estadística
        Gauss            econometría
        Maple y Matemática       matemáticas analíticas
        MetaStock        finanzas
        Eviews           econometría                            entre otros muchos más
        PRESENTACIÓN DE MATLAB


        Lo primero que se debe conocer es la visualización del programa tal y como lo
inicializa windows.




        Es importante conocer cada una de las partes del programa.
        El Launch Pad es el lugar donde se presentan los toolboxes y los demos que la versión
de MATLAB contenga. En éste lugar también se encuentran las ayudas a los toolboxes.
        El Command Window es el lugar de MATLAB donde se corren los programas, es
decir en donde se presentan los resultados de los programas, más no donde se programa.
        La barra de herramientas tiene diversas funciones las cuales debe ser tarea del alumno
conocerlas. La línea de comandos tiene las mismas funciones que en otros programas. A
excepción de la parte de current directory que hace mención al directorio que MATLAB está
utilizando. Esto es importante mencionarlo ya que una de las dificultades técnicas que conlleva
MATLAB es la confusa idea de que cuando se corra un programa, todas las partes del
programa deberán estar guardadas en un mismo directorio. Es decir, digamos que estamos
calculando el precio de una opción financiera, se necesitan diversos parámetros como el precio
de una acción, su rentabilidad, volatilidad, etc. Todos estos datos deberán estar guardados en el
mismo directorio en el cual el programa principal está guardado.
        Antes de adentrarse más profundamente en esto observemos cual es el mecanismo
común para agregar un directorio. Obsérvese que G:\MATLAB6p5\work viene por default.
        Hay dos maneras de agregar un nuevo directorio, una directa y otra más trabajada.
        La manera directa es que en la línea de comandos a un lado de current directory
aparecen tres puntos suspensivos. Al picarle dentro de esos tres puntos suspensivos se
despliega el siguiente cuadro de diálogo.




        Lo siguiente es escribir el nombre de la carpeta a crear y hacer clic en crear nueva
carpeta. Y entonces fijarse que el nombre de este nuevo directorio aparezca en el current
directory de MATLAB.
        La otra forma de hacer esto y realmente la forma como debe de hacerse es:
        1) File
        2) Set Path
        3) Add folder
        4) Y repetir lo anteriormente escrito.
        Conociendo esto lo que continua es ver donde se programa.
        En File se hace clic en New y se elige lo que se desea realizar. Supongamos que se
quiere realizar un programa normal. Entonces se hace clic en M-File. De hecho todo el
programa será nuestro M-File.
       La parte de arriba que dice es el nombre completo del directorio de donde está
corriendo el programa “G:\DocumentandSettings\Vladimir\Escritorio\TESIS\Simulations“
       De igual forma hay una tercera visualización diferente que es la que se refiere a
cualquier gráfica desplegada.




Es así como terminamos esta parte de presentación. Ahora nos debemos de adentrar un poco
más en la programación de MATLAB.
         FUNCIONES BÁSICAS


         A continuación lo que se pretende es dar a conocer el uso de las funciones más básicas
en la programación en MATLAB.
         Lo primero que se tiene que conocer es que a diferencia del lenguaje C, en MATLAB
no es necesario incluir las librerías ya que los toolboxes se leen directamente.
         Con respecto a esto, lo único que se tiene que hacer para comenzar una programación
en MATLAB es escribir “function” y el nombre del programa. Si está bien escrito function se
escribirá automáticamente en azul.
         Por otra parte, todo aquel comentario que sirva como indicación al usuario y no se
procese en el programa deberá llevar antes el signo % quien se escribirá automáticamente en
verde.
         Conociendo esto, ahora si se mencionan las funciones más básicas. Deberá ser labor
del estudiante ir conociendo demás funciones por su propia cuenta conforme se vayan
necesitando.
         Declaración de funciones
         El signo >> se escribe automáticamente en el promp de MATLAB (entiéndase por
promp el command windows) más no en el M-File
         Antes que nada recuérdese que cada una de las funciones de MATLAB está orientado
a ser parte de matrices. Es decir,
                         >> x = 1; el vector x (de dimensión 1x1) se le asigna el valor 1.
         En MATLAB se escribe “;” (punto y coma) como indicación de que no se quiere
desplegar este resultado. Es decir:
         >> x = 1                                         >> x = 1;
         x=
                1        MATLAB despliega                         MATLAB no despliega nada


         De ahora en adelante se escribirá para todas las funciones “;” y deberá ser tarea del
estudiante observar las respuestas de MATLAB.
         Otros ejemplos serían:
>> x = [1,2,3]; % se define el vector x de dimensión 1 x 3 con entradas numéricas 1,2 y 3.
>> x = [1;2;3]; % se define el vector x de dimensión 3 x 1 con entradas numéricas 1,2 y 3.
          El signo ‘ es una indicación para que MATLAB calcule la transpuesta de una matriz.
Para todos aquellos lectores que no estén familiarizados con los términos matriciales, una
operación transpuesta significa que los renglones de una matriz serán intercambiados por las
columnas de la misma. Veámoslo con un ejemplo sencillo.
                         t
      1 2 3 4   1 5 9 13 
                               
      5 6 7 8   2 6 10 14 
      9 10 11 12    3 7 11 15 
                               
     13 14 15 16   4 8 12 16 
                               
     >> x = [1,2,3,4;5,6,7,8;9,10,11,12;13,14,15,16];
     >> x’
     x=
          1   5 9 13
          2   6 10 14
          3   7 11 15
          4   8 12 16


                                                                 1 2
     Trabajemos las siguientes funciones con la siguiente matriz 
                                                                    
                                                                     
                                                                 3 4
>> x=(1,2;3,4);          % definición de la matriz x
>> y = x(2,1)            % la función y se define como la entrada (2,1) de la matriz x
y=
          3
Se debe entender que en (a,b) “a” representa al renglón y “b” a las columnas. En nuestro
ejemplo a = 2 y b =1.


>> z = x(2,2)                    >> z = x(1,1)
z=                               z=
          4                              1


>> A = x(:,1)            % la función A se define como todo el vector perteneciente a la
                         %primera columna.
A=
          1
          3
>> B = x(1,:)            % la función B se define como todo el vector perteneciente al
                         %primer renglón.
B=
        1         2


Es fácil suponer que pasa con >> C = x(:,2) y >>D=x(2,:)


        Dos funciones muy útiles al programar, son las referentes a la dimensión de los
vectores y matrices. Por ejemplo si estamos programando un modelo financiero y estamos
trabajando con una serie de datos pertenecientes al precio de una acción, se necesita saber con
cuántos datos trabajamos. En este tipo de problemas es fácil suponer en contar los datos, lo
cual resultaría bastante inútil si hablamos de 1000 datos.
        Para solucionar este problema existen dos funciones las cuales son:
Supóngase que trabajamos con una matriz X de dimensión 1000 x 2000
>> y = length(X)         % Devuelve el número de elementos en el vector de X
y=
        1000
>> z = size(X)           % Devuelve la dimensión del espacio vectorial de la matriz
z=
        1000      2000


Ahora veamos algunas operaciones básicas con matrices. Para un mejor entendimiento se debe
de repasar la teoría elemental de matrices. Sin embargo a pura manera de ejemplo
mencionamos que un espacio vectorial (a partir del cual se define una matriz) solo está
definida para la suma y multiplicación. Veamos estas dos operaciones con un ejemplo:
a b  e           f  a  e b  f            a b  e           f   ae  bg af  bh 
c d  g
                                          c d  g
                                                                                       
                 h  c  g d  h
                                              
                                                      
                                                                   h   ce  dg cf  dh 
                                                                                         
Deberá ser responsabilidad del alumno verificar las restricciones para la cual está definida la
multiplicación.
        El problema cuando se multiplican matrices puede entenderse con los siguientes
ejemplos. Vease que en el primero se está efectuando la multiplicación matricial como se
definió con anterioridad. El segundo ejemplo no lo hace.
>> x = [1,2;3,4];                                >> x = [1,2;3,4];
>> y = [4,3;2,1];                                >> y = [4,3;2,1];
>> x*y                                            >> x.*y
ans                                               ans
          8    5                                            4 6
         20 13                                              6 4


         El punto anterior es muy importante entenderlo y se utiliza mucho cuando se trabaja
con problemas en donde existen muestreos estadísticos en la programación.


         Existen otros tipos de funciones matriciales. Se hace un pequeño resumen a
continuación. El alumno deberá revisar la teoría.
Se define una matriz X cuadrada.
>> inv(X);         % despliega la inversa de la matriz X
>> det(X);         % despliega el determinante de la matriz X
>> zeros(m,n) % despliega una matriz nula de m x n
>> eye(n)          % despliega una matriz identidad de dimensión n


         Funciones para graficar
         En MATLAB es posible realizar todo tipo de graficas. Sin embargo la idea es la
misma y solo cambiará una función, la cual definirá el tipo de graficas que se quiera.
         Antes que nada se debe de entender lo siguiente:
         MATLAB es un software que está programado desde una perspectiva matricial.
Cuando se grafica no es la excepción. En este programa es posible presentar en una misma
pantalla la cantidad de graficas que se quieran, sin embargo la forma de hacerlo es primero
pensar en que cada una de las gráficas será la información que exista en cada una de las
entradas de la matriz que se define. Veámoslo.
Con una información anterior, digamos el precio de una acción, su rendimiento y su volumen.
Sea p = precio, r = rendimiento y v = volumen
Primero veámos cual es la función para desplegar una gráfica simple.
>> plot(acción)
Y MATLAB desplegará
Esta es la forma más sencilla para graficar.
Sin embargo qué pasa si queremos la gráfica de la acción y su rendimiento.
subplot(2,1,1)
 plot(accion)
subplot(2,1,2)
 plot(rendimiento)
        Aquí hay varias cosas que observar, la primera es que este código se escribe en el M-
File por lo tanto >> no aparece. Luego el subplot es la indicación para MATLAB que se
desplegarán varias gráficas. En nuestro caso se desplegarán 2 gráficas en una columna. De
hecho de manera general podemos definir el subplot de la siguiente manera:
        Subplot(m,n,x) donde m y n definen la matriz de graficas y x el lugar de la gráfica. Es
por esto que en nuestro código el subplot(2,1,1) define la gráfica del precio de la acción que irá
en la matriz de 2 x 1 en el primer lugar. Y subplot(2,1,2) define la gráfica del rendimiento que
irá en el segundo espacio. Después de este pequeño código MATLAB desplegará.
           Otra función importante es figure, que sirve para desplegar varias hojas de gráficas.
Por ejemplo:
           figure(1)
           plot(accion)
           title(‘accion’)
           figure(2)
           plot(rendimiento)
           title(‘rendimiento’)
           MATLAB desplegará dos pantallas de gráficas. La primera será del precio de la acción
y la segunda pantalla del rendimiento de éste. Title es la función para agregar un título a la
gráfica.
           Existen muchas funciones especiales que dan presentación a la visualización de las
gráficas y será tarea del alumno analizarlas. Sin embargo cada una de las funciones pueden ser
saltadas en el código del programa y realizarse directamente en la barra de herramientas de las
gráficas. Es decir en




           Hasta aquí terminamos todo lo referente a la introducción de MATLAB.

								
To top