Matlab para Probabilísticos
Enviado por mauahch • 20 de Noviembre de 2012 • Examen • 3.223 Palabras (13 Páginas) • 243 Visitas
Matlab para Probabilísticos
¿Cómo trabaja Matlab?
Matlab es un lenguaje intérprete que está basado esencialmente en el manejo numérico de la información. A diferencia de otros programas como Mathematica o MathCad, no permite trabajar con expresiones matemáticas simbólicas (salvo librerías que lo simulan). Esto que en un principio parece una desventaja, termina siendo una de las mayores virtudes de Matlab.
Muchas veces que encaramos una situación problemática, tendemos a desarrollar modelos analíticos para entender la naturaleza del problema, y al resultar demasiado complejos de analizar, los reducimos a modelos lineales, que son fácilmente manipulables. Este enfoque puede funcionar muchas veces, pero a menudo carece de exactitud.
El enfoque numérico nos permite justamente llegar a resolver problemas complejos analíticamente con una serie de tareas simples y repetitivas, siendo firmes candidatos a ser realizadas por computadora, logrando una precisión tan grande como el tiempo de procesamiento y la misma precisión de la máquina nos lo permitan.
El entorno de Matlab
No hay persona que al entrar a Matlab por primera vez se haya sentido desilusionada. Todo lo que se ve es una línea de entrada de comandos esperando. Matlab solo ejecuta órdenes. Es nuestro pequeño esclavo numérico.
Estas órdenes pueden comunicarse de dos formas:
• Directamente en la línea de comandos
Ud.: lústrame los zapatos
Matlab: Sí Amo
Ud.: ahora abanícame
Matlab: Si, Amo
• Mediante una “receta” preestablecida llamada script
Ud. le da a Matlab un papiro que dice:
“Esclavo Matlab, estas son las tareas que le encargo en el día de la fecha:
a) Lústrame los zapatos
b) Abanícame
De no cumplir con las tareas correctamente será degollado al amanecer“
Firmado, El Amo
Es recomendable dar los primeros pasos dando órdenes directas ya que podemos ir apreciando la consecuencia de cada orden.
A la hora de escribir un programa completo, la segunda forma es la más adecuada, ya que en el proceso de depurar el programa no es necesario escribirlo de nuevo cada vez que queramos ejecutarlo.
Línea de comando
La línea de comando de Matlab permite también realizar algunas operaciones del ya casi extinto DOS anteponiendo el símbolo de admiración (!) a la instrucción
Por ejemplo
>>!ren fulano.m mengano.m
Cambia el nombre del archivo fulano.m a mengano.m
El workspace (lugar de trabajo)
El workspace es una metáfora del espacio de memoria que contiene a todas las variables con las que está trabajando. Al cerrarse Matlab toda esta preciosa información se pierde, por lo que es, nuevamente, recomendable el uso de programas preescritos (scripts) para volver a generar toda la información.
De todas formas, Matlab permite grabar en un archivo el estado del workspace.
Matlab Path
Una de las primeras tareas a realizar cuando nos dispongamos a empezar a trabajar es crear un directorio o carpeta de trabajo para trabajar más cómodamente.
Luego de crearlo, lo ponemos como directorio local (current directory). Cada vez que se ejecute un comando, este será el primer lugar donde lo busque y si no esta allí, Matlab buscara en su listado de paths.
Las Librerías
Una librería es una serie de funciones (archivos *.m) que permiten encarar determinados problemas. Existen librerías de procesamiento de señales, de manejo simbólico de datos (cosa que Matlab no debería por qué hacer pues es un simulador numérico), y de todo tipo de manejos esotéricos que no vienen al caso.
Una de las ventajas de Matlab, es que su código es abierto. Esto quiere decir que cualquier función de las librerías, estándar o no, puede ser editada y modificada. Es decir que una función cualquiera que ya venga incluida en el paquete no difiere demasiado de una función que nosotros podamos escribir (esto fue cambiando un poco ya que cada vez mas se usan .dll pero el grueso sigue siendo .m)
Matlab Editor/Debugger
Matlab cuenta con un editor de texto, que también efectúa acciones de debugging, en donde pueden escribirse los scripts. El editor resalta en distintos colores las palabras reservadas, las cadenas de string, y no me acuerdo que otra cosa.
Help!
Este comando nos permite solicitar ayuda sobre cualquier comando o función que se encuentre instalada en Matlab.
Escribiendo help en la línea de comando, el programa devuelve un listado de todas las librerías instaladas. Entonces:
» help
Para pedir mas detalles sobre las funciones que pertenecen a una librería dada, ingresamos help seguido del nombre de la librería. Por ejemplo:
» help stats
La librería stats agrupa diferentes rutinas útiles en probabilidad y estadística. Resulta muy instructivo echarle una mirada.
Al final de la ayuda nos remite a algunos temas relacionados para que podamos continuar la búsqueda, si es que no terminamos de encontrar lo que buscábamos.
Si quisiéramos ver con mas detalle algún ítem de la lista, basta con escribir help <ítem>. Ejemplo:
» help normpdf
NORMPDF Normal probability density function (pdf).
Y = NORMPDF(X,MU,SIGMA) returns the pdf of the normal distribution with mean MU and standard deviation SIGMA, evaluated at the values in X. The size of Y is the common size of the input arguments. A scalar input functions as a constant matrix of the same size as the other inputs.
Default values for MU and SIGMA are 0 and 1 respectively.
Ante cualquier duda sobre el help tipeen:
» help help
Hay otro modo de ayuda, un poco mas cómodo, que se puede acceder desde el menú desplegable Help. El contenido es el mismo que el de la línea de comandos, solo que disponemos de un pequeño navegador.
Matlab cuenta también (en sus versiones más recientes) con una enorme cantidad de archivos de ayuda en formato PDF o HTML. Son muy instructivos pero algo largos.
Trabajando con vectores y matrices
Vale la aclaración de que, para Matlab, los escalares son una matrices de 1x1. Por lo que las operaciones son válidas también para ellos.
Creación de vectores y matrices
Una particularidad de Matlab es que no es necesario declarar las variables.
...