Práctica 1. Introducción al matlab



Documentos relacionados
Tema 4: Empezando a trabajar con ficheros.m

Introducción a Matlab.

1. Visualización de datos con Octave

Práctica 1ª: Introducción a Matlab. 1er curso de Ingeniería Industrial: Ingeniería de Control

Comenzando con MATLAB

APLICACIONES INFORMÁTICAS de BASE de DATOS

La ventana de Microsoft Excel

La pestaña Inicio contiene las operaciones más comunes sobre copiar, cortar y pegar, además de las operaciones de Fuente, Párrafo, Estilo y Edición.

6.1. Conoce la papelera

Módulo I - Word. Iniciar Word Finalizar Word Definición de elementos de pantalla Escribir texto en un documento El cursor...

Elementos de Microsoft Word

SISTEMAS DE NUMERACIÓN

MANUAL DE AYUDA MODULO TALLAS Y COLORES

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)

>> % suma de dos números reales, el resultado se asigna a ans

Correo Electrónico: Webmail: Horde 3.1.1

Cómo creo las bandejas del Registro de Entrada /Salida y de Gestión de Expedientes?

Apuntes de ACCESS. Apuntes de Access. Campos de Búsqueda:

Una vez que tengamos el padrón de un determinado tributo con todos sus datos actualizados, podemos generar los recibos de ese padrón.

5.4. Manual de usuario

Adaptación al NPGC. Introducción. NPGC.doc. Qué cambios hay en el NPGC? Telf.: Fax.:

Bases de datos en Excel

Práctica 3: Funciones

BASES DE DATOS - Microsoft ACCESS 2007-

MACROS Y FORMULARIOS

ESCUELA SUPERIOR DE INFORMATICA Prácticas de Estadística UNA SESIÓN EN SPSS

MANUAL DE AYUDA MÓDULO GOTELGEST.NET PREVENTA/AUTOVENTA

CASO PRÁCTICO. ANÁLISIS DE DATOS EN TABLAS DINÁMICAS

Capítulo 9. Archivos de sintaxis

Instalación del programa PSPP y obtención de una distribución de frecuencias.

TEMA 2 WINDOWS XP Lección 4 BLOC DE NOTAS

Este programa mueve cada motor de forma independiente, y cuando termina una línea pasa a la siguiente.

Herramientas Informáticas para la Documentación Práctica 1. Introducción al navegador Netscape

INFORMÁTICA. Práctica 5. Programación en C. Grado en Ingeniería en Electrónica y Automática Industrial. Curso v1.0 (05.03.

CRM para ipad Manual para Usuario

CRM para ipad Manual para Usuario

Traslaciones, Homotecias, Giros y Simetrías

ESTÁNDAR DESEMPEÑO BÁSICO Recopila información, la organiza y la procesa de forma adecuada, utilizando herramientas tecnológicas.

MICROSOFT EXCEL Introducción: Qué es y para qué sirve Excel2007? TECNOLOGIA/ INFORMATICA: MS-EXCEL

3.1. Guardar un libro de trabajo

5.2.- Configuración de un Servidor DHCP en Windows 2003 Server

Estructuras de Datos y Algoritmos Tecnólogo en Informática

Introducción a la Programación en MATLAB

Guía N 1: Fundamentos básicos(i)

Módulo 8: Ofimática básica. Unidad didáctica 4: Introducción y modificación de datos. Access

LAS CONSULTAS ACCESS Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

REGISTRAR LOS SITIOS WEB MÁS INTERESANTES

Para aquellos que tengan conocimientos de Access es lo más parecido a una consulta de referencias cruzadas, pero con más interactividad.

Plantillas Office. Manual de usuario Versión 1.1

!!!!!!!! !!!!! Práctica!4.! Programación!básica!en!C.! ! Grado!en!Ingeniería!!en!Electrónica!y!Automática!Industrial! ! Curso!2015H2016!

Guía de uso del Cloud Datacenter de acens

MANEJANDO FICHEROS Y CARPETAS

Manual Impress Impress Impress Impress Impress Draw Impress Impress

Índice general de materias LECCIÓN 7 74

Dibujamos estos puntos en el espacio, y no cerramos la figura

Windows Journal en dos patadas

GE Power Management. 6S``O[WS\bORS1]\TWUc`OQWÕ\g. GE-FILES 7\ab`cQQW]\Sa 539$ &

Acceso y primeros pasos

GESTINLIB GESTIÓN PARA LIBRERÍAS, PAPELERÍAS Y KIOSCOS DESCRIPCIÓN DEL MÓDULO DE KIOSCOS

GUIA COMPLEMENTARIA PARA EL USUARIO DE AUTOAUDIT. Versión N 02 Fecha: 2011-Febrero Apartado: Archivos Anexos ARCHIVOS ANEXOS

El programa Minitab: breve introducción a su funcionamiento. Para mostrar la facilidad con la que se pueden realizar los gráficos y cálculos

GENERACIÓN DE TRANSFERENCIAS

CONSEJERÍA DE TURISMO Y COMERCIO. Secretaría General Técnica. Oficina Virtual. ORION v

Tutorial de Introducción a la Informática Tema 0 Windows. Windows. 1. Objetivos

CÓMO CREAR NUESTRO CATÁLOGO

Qué es y para qué sirve Excel2007?

CONCEPTOS BASICOS. Febrero 2003 Página - 1/10

Un kilobyte (KB) son 1024 bytes, un Megabyte (MB) son 1024 KB, un Gigabyte son 1024 Mb

AGREGAR COMPONENTES ADICIONALES DE WINDOWS

1.- MENU DE CONTROL O MENU VENTANA: permite cerrar la ventana cambiarla de tamaño y pasar a otra ventana

Gobierno del Estado de México

Actividades con GeoGebra

MANUAL BÁSICO DE WRITER

MICROSOFT WORD 2007 AVANZADO. Unidad Didáctica Nº 1

NORMA (SEPA) 22/11/2013

Año: 2008 Página 1 de 31

TEMA 5. INTRODUCCIÓN AL MANEJO DE ORIGIN 6.1

Para crear una lista como la anterior, primero escribe la información, y después selecciona el texto y aplícale el formato de viñetas.

1. Prestar ejemplar. -1-

EL PROGRAMA DE PRESENTACIONES IMPRESS (I)

Graficando con Octave

PLANTILLAS DE DOCUMENTOS EN WORD 2007

Laboratorio 6. Creación de sitios Web - Dreamweaver

2_trabajar con calc I

ACTUALIZACIÓN VERSIÓN GEOBASEWEB. RELACIÓN DE CAMBIOS ENTRE v Y v

MACROS. Automatizar tareas a través del uso de las macros.

Internet Information Server

PREPARANDO EL ENTORNO DE DESARROLLO PARA PROGRAMAR EN PHP. DESCARGAR E INSTALAR NOTEPAD++ (CU00808B)

UNIDAD I PROCESADOR DE TEXTOS

FICHERO DE AYUDA DEL PROGRAMA MEGAPRIMI

RESOLUCIÓN DE ERRORES EN MOODLE CAMPUS VIRTUAL-BIRTUALA UPV-EHU

TEMA 4: EMPEZANDO A NAVEGAR ESCUELA UNIVERSITARIA DE INFORMÁTICA. Raúl Martín Martín

MANUAL DE PRACTICUM12 PARA CENTROS EDUCATIVOS ÁMBITO MÁSTER

Draw: objetos en 3D, diagramas de flujo y exportación

VJALQUILER VJALQUILER

Guardar y abrir documentos

CASO PRAÁ CTICOPREÉ STAMOS. CAÁLCULO DE CUOTAS

El proceso de edición digital en Artelope y CTCE

Transcripción:

Práctica 1. Introducción al matlab Estadística Facultad de Física Objetivos Puesta en marcha de matlab Entrada y salida de datos Manejo de matrices Representaciones gráficas sencillas 1 matlab matlab es al mismo tiempo un lenguaje y un entorno de programación técnica que permite cálculos numéricos de alto nivel y su visualización. Integra análisis numérico, cálculo matricial, proceso de señal y gráficos en un entorno sencillo. matlab incorpora aplicaciones específicas llamadas toolboxes. Estos son colecciones especializadas de funciones y programas especiales de matlab (ficheros-m porque su nombre tiene extensión.m) para trabajar en clases particulares de problemas. Uno de ellos está dedicado a la estadística. Este entorno permite una fácil extensión ya que el usuario puede escribir sus propias aplicaciones. La programación es más sencilla que los lenguajes tradicionales como Fortran o C. Las aplicaciones se guardan en ficheros-m que pueden ser empleados en cualquier momento. 2 Inicio matlab corre desde windows en los ordenadores PC compatibles del aula de informática. Para ponerlo en marcha se selecciona el icono en el administrador de programas. Se abre entonces una ventana llamada Ventana de Comandos (Command Window) desde la que se teclean los comandos. Tambien puede abrirse otra Ventana de Ayuda (matlab Help) en la que el acceso a las ayudas es el estándar de windows. Otra forma de obtener ayuda es utilizando el comando Help desde dentro de la ventana de comandos. Por último podemos encontrar un comando cuyo nombre no recordamos o buscar si existe información relativa a un tema con el comando lookfor seguido de una palabra clave (por ejemplo lookfor mode). Este comando busca una cadena de caracteres en la primera linea de comentario del texto de ayuda de todos los ficheros-m. Lo más importante es que la palabra clave no necesita ser una orden de matlab.

3 MATRICES 2 La ventana de comandos funciona con un editor de tal manera que si un comando ha sido mal escrito puede recuperarse y modificarse con las teclas de flecha. Este editor es muy útil y se aprende su uso enseguida; es similar a un shell. Desde esta ventana se pueden iniciar otros procesos de windows o DOS utilizando el signo!. Así!dir creará una ventana donde se listará un directorio. Cuando cerremos esta ventana, tendremos de nuevo control en la Ventana de Comandos. Si al final del comando se teclea un signo & entonces se abre una nueva ventana pero se sigue teniendo control en la Ventana de Comandos. Por ejemplo!notepad & abre una ventana con un editor notepad en un proceso independiente (background). A partir de ahora se sombrearán las expresiones que deban ser tecleadas en la pantalla. Con el símbolo se indica la tecla de retorno o intro que debe pulsarse al final del comando. No sombreados aparecerán los resultados proporcionados por matlab. Se recomienda la consulta de matlab edición del estudiante que se encuentra disponible en la biblioteca de la Facultad de CC. Físicas (F681.3.06MATLAB), si se desea profundizar en el estudio de matlab. 3 Matrices Se pueden generar matrices de cuatro formas diferentes: Tecleando la lista de elementos Por ejemplo [1 2 3; ; 9 8 7] 1 2 3 9 8 7 y esta matriz es reservada por matlab para su uso posterior. Otra manera de crear esta matriz sería, [1 2 3 9 8 7] Por medio de un fichero M Si en un fichero de extensión.m tenemos escrito [ 1 2 3 9 8 7 ] podemos introducir en memoria esta matriz A simplemente ejecutando el fichero. Si al editarlo le hemos llamado matriza.m entonces simplemente teclearemos matriza y entonces el programa lee el fichero y genera la matriz. Prueba a editar tu propio fichero y a cargarlo en memoria.

3 MATRICES 3 Generándola con las funciones de matlab Los elementos de una matriz pueden ser cualquier expresión de matlab ; por ejemplo x = [-1.3 sqrt(3) (1+2+3)*4/5] genera la matriz x = -1.3000 1.7321 4.8000 Leyéndola de un fichero de datos Esta forma nos será muy útil ya que podremos cargar un gran volumen de datos que tengamos en un fichero ASCII normal. Existen formas más o menos complicadas para leer la información de ficheros escritos con diferentes formatos. De momento nosotros utilizaremos la más sencilla: lectura de datos de un fichero ASCII. Supongamos que queremos leer un fichero (RETIROT.DAT) que contiene los datos de temperatura media mensual medida en la estación meteorológica del parque de Retiro. Estos datos se encuentran en un fichero grabados de la siguiente forma (listado sólo en parte): 1940 3.8 8.2 11.8 12.8 15.6 19.3 24.0 24.1 19.2 12.0 7.8 3.8 1941 3.4 7.0 9.6 11.1 13.1 20.0 23.2 22.2 20.0 15.0 7.5 4.4 1942 4.8 4.4 10.0 12.2 16.2 20.9 23.8 23.4 18.9 15.0 8.6 5.6 1943 6.2 6.8 9.2 14.2 17.6 23.0 22.2 24.4 18.8 14.0 7.6 5.8... 1955 8.4 6.7 8.3 14.8 18.6 20.4 24.4 23.9 19.3 13.9 8.8 7.7... 1988 7.8 7.6 11.7 12.5 15.5 18.2 24.2 25.3 21.6 15.5 10.3 6.6 1989 6.7 8.7 12.6 11.0 18.4 22.2 26.7 26.0 19.8 16.6 11.9 9.5 1990 6.5 11.0 11.5 11.3 17.8 23.4 26.4 25.8 22.1 14.7 9.3 5.3 Vemos que están tabulados de forma que cada fila proporciona los datos de un año y que las columnas muestran los datos de cada mes. Así, por ejemplo, la columna 4 de la fila 3 contiene la temperatura media de marzo de 1942 que resulta ser 10 o C. Para formar una matriz con esta tabla de datos sólo debemos leer el fichero con el comando load. Nuestros ficheros se encuentran en un directorio de trabajo llamado work y que es un subdirectorio de c:\matlab. Este subdirectorio es donde el comando load busca por defecto así que el comando para situarnos en él (cd c:\matlab\work) no es necesario, load retirot.dat Si el fichero se encontrara en la unidad de disco A:, teclearíamos, load a:retirot.dat La tabla ya está en memoria en la variable retirot, para comprobarlo tecleamos, whos Name Size Elements Bytes Density Complex a 3 by 3 9 72 Full No retirot 51 by 13 663 5304 Full No x 1 by 3 3 24 Full No

4 MANIPULACIÓN DE VECTORES Y MATRICES 4 y podemos ver que en memoria tenemos las variables que generamos antes (a y x) y retirot que es una matriz de 51 (años) por 13 (columna 1 que da el año + 12 meses). La temperatura media de marzo de 1942 será entonces el elemento (3,4) de la matriz. retirot(3,4) ans= 10 En el siguiente apartado aprenderemos cómo seleccionar las temperaturas medias de un mes para un intervalo de años o cómo generar un vector que contenga las temperaturas medias de un cierto año. 4 Manipulación de vectores y matrices Los elementos de una matriz pueden ser referenciados con subíndices entre paréntesis ( ). En lo que sigue utilizaremos el signo % para escribir comentarios en este guión junto a los comandos que se deben utilizar. Continuando el ejemplo anterior, x % para preguntar cuanto vale x x = % valor de x -1.3000 1.7321 4.8000 x(2) % para preguntar cuanto vale el segundo elemento x(2) = % respuesta del programa 1.7321 % valor de x(2) x(5) = abs(x(1)) % aumentamos la matriz x = % nuevo valor de x -1.3000 1.7321 4.8000 0 1.300 Debe notarse que la dimensión de la matriz ha crecido automáticamente para adaptarse al nuevo elemento y que x(4) vale cero al estar indefinido. Tambien pueden construirse matrices más grandes usando como elementos otras matrices menores. Por ejemplo para añadir una fila a la matriz A del ejemplo anterior, size(a) % Nos da el tamaño de la matriz A ans= 3 3 % matriz 3 3 r= [6 8 3]; % Construimos un vector de tres elementos % (; calcula la expresion pero no imprime el resultado) A= [A;r] % y lo unimos a la matriz A 1 2 3 9 8 7 6 8 3 size(a) % Preguntamos la nueva dimension de A ans= 4 3 % matriz 4 3

4 MANIPULACIÓN DE VECTORES Y MATRICES 5 Tambien es posible extraer matrices que son parte de matrices (bloques) usando la notación de dos puntos (:), así por ejemplo, A(1:3,:); toma las tres primeras filas y todas las columnas de la matriz A actual, con lo cual A vuelve a ser la matriz que teníamos anteriormente. En esta expresión hemos utilizado de nuevo un signo de punto y coma (;) para que matlab calcule pero no nos imprima en pantalla el resultado de la operación. Los vectores se pueden generar de una manera sencilla usando el carácter (:). Por ejemplo, x = 1:5 % vector fila que contiene los numeros del 1 al 5 x= % con incrementos de la unidad 1 2 3 4 5 % incrementos diferentes de la unidad estan permitidos y = 0:pi/4:pi % valores de 0 a π y= % con incrementos de π/4 0.0000 0.7854 1.5708 2.3562 3.1416 z = 6:-1:1 % Tambien se pueden emplear z= % incrementos negativos 6 5 4 3 2 1 Es evidente que este método nos sirve para generar tablas. Para que el formato sea tabular (vectores columna) podemos hallar la transpuesta del vector, utilizando en su definición el símbolo ( ). En los siguientes comandos generaremos un vector columna, calcularemos una función para esos valores y formaremos una matriz con esos dos vectores x = (0.0:0.25:3.0) ; y= sin(x); [x y] % x es un vector columna (signo al final) % vector seno de los valores de x % matriz con dos columnas x e y 0 0 0.2500 0.2474 0.5000 0.4794 0.7500 0.6816 1.0000 0.8415 1.2500 0.9490 1.5000 0.9975 1.7500 0.9840 2.0000 0.9093 2.2500 0.7781 2.5000 0.5985 2.7500 0.3817 3.0000 0.1411

4 MANIPULACIÓN DE VECTORES Y MATRICES 6 Por lo tanto, utilizando el operador transpuesta se puede cambiar el formato de vector fila a vector columna y viceversa. Si directamente deseamos generar un vector columna utilizamos (;) entre sus elementos. Comprueba el resultado del comando c=[1;2;4]. Otra forma de generar vectores consiste en utilizar las funciones logspace, que crea vectores formados por elementos espaciados logarítmicamente, y linspace que permite especificar el número de puntos en lugar del incremento. k = linspace (-pi,pi,4) k= -3.1416-1.0472 1.0472 3.1416 Como se vió antes los elementos de las matrices pueden referenciarse por medio de los subíndices. Así si tenemos la matriz de antes A. A 1 2 3 9 8 7 A(3,3) = A(1,3)+A(3,1) 1 2 3 9 8 12 % proporciona Un subíndice puede ser un vector. Para entender ésto veamos cómo se pueden seleccionar submatrices a partir de una matriz. Si T es una matriz de 6 6, entonces T1 = T(1:2,2:4); genera una matriz 2 3 formada por las filas 1 y 2 y las columnas 2, 3 y 4. Y para seleccionar una sola columna (por ejemplo la tercera) de esa matriz escribiríamos T2 = T(1:6,3). Se comprende que ésto nos será muy útil para seleccionar filas y columnas de una tabla de datos como veremos más adelante. Una construcción que nos será tambien de utilidad es la siguiente [1 2; 3 4; 5 6] % Construimos una matriz A 1 2 3 4 5 6 b = A(:) % El vector b contiene los valores de A b = 1 3 5 2

5 REPRESENTACIONES GRÁFICAS SENCILLAS 7 4 6 es decir que hemos convertido la matriz 2 2 en un vector columna. Siguiendo el ejemplo de las temperaturas medias que almacenamos en la variable retirot, seleccionemos los datos que corresponden a la temperatura de enero a lo largo de todo el intervalo 1940-1990. t1 = retirot(:,2); fecha = retirot(:,1); %vector temperatura de enero (2 a columna) % vector fecha (1 a columna) Con el segundo comando hemos almacenado en el vector fecha la serie de años que cubren nuestros datos. De igual manera podemos almacenar en un vector la variación anual de la temperatura media para 1955. Como los datos empiezan en 1940, la fila que corresponde a 1955 es la 16. Podemos comprobarlo, retirot(16,1) % Preguntamos la fecha en la linea 16 ans= 1955 % Efectivamente es 1955, luego t1955 = retirot(16,2:13) % contiene los valores de la linea 16 El vector t1955, que contiene los datos requeridos, es el resultado de recortar la matriz entre las columnas 2 y 13 (meses de enero a diciembre). 5 Representaciones gráficas sencillas Vamos a utilizar los ejemplos anteriores para aprender a realizar gráficas del tipo y frente a x. La variación anual de la temperatura media durante el año 1955 está almacenada en el vector t1955 y la podemos representar con el comando plot, plot(t1955) Abre una ventana de windows para los gráficos y representa el vector t1955 frente a su índice. Se puede apreciar que la temperatura media es mayor en los meses de verano, como esperábamos. Se pueden probar alternativas en otros colores como el verde, plot(t1955, g ) plot(t1955, ro ) % en color verde o con simbolos % como un circulo (en rojo) Para ver qué símbolos y qué colores puedes utilizar busca la ayuda de plot tecleando help plot o mira la tabla al final de este guión. Tambien podemos representar la variación estacional en otro año (1966 por ejemplo) y comprobar si es parecida,

5 REPRESENTACIONES GRÁFICAS SENCILLAS 8 t1966 = retirot(27,2:13) % vector con los datos de 1966 plot(t1966) % lo representamos si queremos ver ambas gráficas a la vez pintamos una y luego la otra pero sin borrar la anterior utilizando el comando hold que mantiene la pantalla con los dibujos anteriores hasta que tecleemos hold off, plot(t1955) % representamos los datos de 1955 hold % y en el mismo grafico plot(t1966) % representamos los datos de 1966 Nosotros podemos elegir la forma y el color de la representación, por ejemplo la variación en 1955 en línea verde y círculos blancos y la de 1966 en cian con estrellas amarillas, hold off plot(t1955, g ) hold plot(t1955, wo ) plot(t1966, c ) plot(t1966, y* ) % iniciamos un nuevo grafico % representamos 1955 en verde % mantenemos este grafico % representamos 1955 en circulos blancos % idem 1966 en cian % idem 1966 en asteriscos amarillos Como ejercicio se puede representar cómo variaron a lo largo del intervalo de tiempo muestreado las temperaturas medias de enero, mayo y agosto. hold off % iniciamos un nuevo grafico plot(t1) % representamos enero (almacenado en vector t1) O mejor representamos un gráfico tipo y frente a x con temperaturas medias de enero para cada año ya que el indice de este vector representa años consecutivos desde 1940 que están almacenados en el vector fecha. plot(fecha,t1) Tambien podemos elegir el color y tipo de símbolo, plot(fecha,t1, w+ ) % pinta con + de color blanco Si no estamos utilizando monitores de color, resulta útil pintar las líneas en estilos diferentes cuando varias funciones se representan en el mismo gráfico,

5 REPRESENTACIONES GRÁFICAS SENCILLAS 9 mes = 1:12; hold off plot(mes,t1955) hold on plot(mes,t1966, -- ) % nueva variable % iniciamos un nuevo grafico % otro formato plot(x,y) % conservamos el grafico % t1966 con otro tipo de linea Se pueden representar a la vez estas variables con un solo comando, hold off % iniciamos un nuevo grafico plot(mes,t1955,mes,t1966, -- ) Y ya para demostrar que el comando puede ser mucho más complicado y completo, x=linspace(0,2*pi,30); % de 0 a 2*π en 30 pasos y1=sin(x); % funcion seno y2=cos(x) % funcion coseno hold off % iniciamos un nuevo grafico plot(x,y1, g:,x,y2, r--,x,y1, wo,x,y2, c+ ) Equivalencia de símbolos en los gráficos Símbolo Color Símbolo Estilo de línea y yellow amarillo. puntos m magenta morado o círculos c cyan cian x aspas r red rojo + cruces g green verde * asteriscos b blue azul - línea continua w white blanco : idem punteada k black negro - - idem de trazos Operaciones con vectores (a,b vectores; c escalar) suma escalar a+c = [a 1 +c a 2 +c... a n +c] multiplicacion escalar a*c = [a 1 *c a 2 *c... a n *c] suma de vectores a+b = [a 1 +b 1 a 2 +b 2... a n +b n ] multiplicacion de vectores a.*b = [a 1 *b 1 a 2 *b 2... a n *b n ] division de vectores a./b = [a 1 /b 1 a 2 /b 2... a n /b n ] potencia de vectores a. c = [a 1 c a 2 c... a n c] c. a=[c a 1 c a 2... c a n ] a./b = [a 1 /b 1 a 2 /b 2... a n /b n ] sumatorio de elementos sum(a)= a 1 +a 2 +...+ a n suma acumulada de elementos cumsum(a)= [a 1 a 1 +a 2... a 1 +a 2 +...+a n ] productorio de elementos prod(a)= a 1 *a 2 *...* a n producto acumulado de elementos cumprod(a)= [a 1 a 1 *a 2... a 1 *a 2 *...*a n ]