Introducción a MATLAB

Documentos relacionados
Práctica 0: Introducción a Matlab. Matlab es un acrónimo: MATrix LABoratory

Oriol R oca. M a t L a b FUNCIONES EN MATLAB

Práctica 0: Introducción a Matlab. Series Temporales. Diplomatura en Estadística. 2009/2010

Formatos y Operadores

Herramientas computacionales para la matemática MATLAB: Arreglos

Introducción a Matlab

2º ITT SISTEMAS ELECTRÓNICOS 2º ITT SISTEMAS DE TELECOMUNICACIÓN 3º INGENIERÍA DE TELECOMUNICACIÓN AUTÓMATAS Y SISTEMAS DE CONTROL

Introducción a MATLAB

Introducción a Matlab. Ing. Laura López López

Introducción a MATLAB

Práctica 1: Introducción al entorno de trabajo de MATLAB *

Características básicas de Matlab

Introducción a Matlab.

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

Tutorial de MATLAB Curso Intensivo sobre Asimilación de Datos

Programación MATLAB: Programas y Funciones.

Herramientas básicas II

En esta práctica aprenderemos a entrar en MATLAB y utilizarlo como una potente calculadora. También veremos cómo representar pares de puntos.

MATLAB Prof. Lino Coria Mendoza

Introducción a MATLAB y LabVIEW

Introducción a MATLAB/ OCTAVE. Fundamentos Físicos de la Informática, 2006

Introducción a Matlab y Simulink

Manual de Introducción a MATLAB

Introducción a MATLAB

GUÍA PARA EL USO DE MATLAB PARTE 1

Gráficos en Matlab

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

Procesado de datos con MATLAB

TUTORIAL BASICO DE MATLAB

Señales y Sistemas (66.74) Práctica 0 : Introducción a MATLAB/OCTAVE

Los componentes individuales

Ingeniería Eléctrica y Electrónica Introducción a Matlab

Práctica 1: Introducción a matlab

PRÁCTICA 1: Introducción a Matlab

GUIA BÁSICA DEL PROCEDIMIENTO MATRIX END MATRIX

MANUAL BÁSICO DE OCTAVE Y QTOCTAVE

CÁTEDRA DE MÉTODOS NUMÉRICOS

Comenzando a usar MatLab:

INGENIERÍA INDUSTRIAL TEORÍA DE CIRCUITOS Y SISTEMAS PRÁCTICA 1 SISTEMAS: INTRODUCCIÓN A MATLAB

Imágenes y gráficas en MATLAB

Álgebra Lineal Tutorial básico de MATLAB

MATLAB tiene un gran número de funciones incorporadas. Algunas son funciones intrínsecas, esto es, funciones incorporadas en el propio código

Herramientas básicas I

UNIVERSIDAD TECNOLÓGICA DE PEREIRA Programa de Tecnología Eléctrica

Práctica I: Breve Introducción a Matlab

facilidades para cálculo matemático y Dispone de toolboxes especializados: Control Systems, Neural Netword, Optimization, etc.

Herramientas computacionales para la matemática MATLAB:Introducción

Guía de uso de MATLAB

Curso Básico de MATLAB para Microsoft Windows (Modulo II)

UNIVERSIDAD AUTÓNOMA DE NUEVO LEÓN

Comenzando con MATLAB

CAPITULO I INTRODUCCIÓN

PRÁCTICA NÚMEROS REALES Y COMPLEJOS CURSO Práctica 1

CLASE 1 INTRODUCCIÓN A MATLAB

Fundamentos de Informática Parte II Análisis y Visualización de Datos mediante Matlab

LENGUAJE DE PROGRAMACIÓN SCILAB

Introducción a la Programación en MATLAB

UNIVERSIDAD TECNOLÓGICA DE PEREIRA Programa de tecnología Eléctrica. Introducción a Matlab Taller 1

Rancagua, Agosto 2009

Practica 1. Introducción a MATLAB

Curso Básico de MATLAB para Microsoft Windows (Modulo I)

EJERCICIO 1. CREACIÓN DE UNA FUNCIÓN

Introducción a MATLAB

Nociones Básicas de Octave

En esta sección se explica cómo usar Matlab a modo de calculadora. Empecemos con algo sencillo: las operaciones matemáticas elementales.

Práctica 1. Introducción al matlab

Operaciones con matrices

Clase 2: Operaciones con matrices en Matlab

Cursada Segundo Cuatrimestre 2012 Guía de Trabajos Prácticos Nro. 1

Funciones en MATLAB. Prof. Saúl. Buitrago y Oswaldo Jiménez

MATEMÁTICA D INTRODUCCIÓN A SCILAB. Por: Dr. Javier Francesconi

Herramientas computacionales para la matemática MATLAB: Gráficas 3D

TP1 - Scheduling en TORSCHE

Números enteros (cortos, largos y sin signo) Números reales (precisión simple y doble) Carácter y cadenas de caracteres. Lógicos.

Programación en Visual Basic Ricardo Rodríguez García

1. INTRODUCCIÓN A MATLAB 7.0

AGENDA INTRODUCCIÓN A MATLAB. Introducción -Generalidades. Introducción. Andrés Díaz Universidad ICESI

Apunte Laboratorio ALPI - El lenguaje de programación Pascal

Algunos comandos para tener en cuenta en las operaciones son: who enumera todas las variables usadas hasta el momento.

Herramientas computacionales para la matemática MATLAB: Funciones definidas por el usuario (parte II)

Funciones & Estructuras de control

Métodos Numéricos utilizando Scilab

Series de datos multivariables

Práctica 1: Introducción a MATLAB.

Práctica 3: Funciones

Introducción a MATLAB

Descripción de un Programa

Formato de salida : 1er Laboratorio de MN II. Comando format 1. GRABACION DE CONTENIDOS EN UNA SESION DE MATLAB

Rancagua, Agosto 2009

UNIVERSIDAD POLITÉCNICA DE MADRID

Métodos Numéricos. Métodos Numéricos Cap 1: Introducción a Métodos Numéricos, Matlab 1/10. Métodos Numéricos. Ultima actualización 11/03/2015

Curso de GNU Octave y L A TEXpara el apoyo a la investigación en ingeniería

Tutorial de MATLAB para MA45C: Ecología Microbiana

GLOSARIO 1. Qué es bit y byte? Bit: Es la unidad mínima de información. Puede ser 0 o 1. Byte: Es el conjunto de 8 bits. Ejemplo:

Departamento de Matemática Aplicada CÁLCULO COMPUTACIONAL. Licenciatura en Química (Curso ) Matrices Práctica 1

Proyecto de Innovación Docente: Guía multimedia para la elaboración de un modelo econométrico.

Introducción a Matlab y Práctica 1 y 2: Señales Continuas y Discretas

MATLAB PARA LA INVESTIGACIÓN CIENTÍFICA, LA DOCENCIA Y LA INGENIERÍA NIVEL I. Por: Alberto Patiño Vanegas

Tema 7: Programación con Matlab

Tema 6: Introducción a los gráficos en 3 dimensiones

Transcripción:

Modelos Computacionales Esteban J. Palomo Ferrer Málaga, 2012

Índice Introducción... 2 Variables y Operadores... 3 Vectores y Matrices... 6 Gráficas... 11 Scripts y Funciones... 14 Programación en MATLAB... 16 1

Modelos Computacionales Introducción Qué es MATLAB? MATLAB (abreviatura de MATrix LABoratory, laboratorio de matrices ) es un software matemático que ofrece un entorno de desarrollo integrado (IDE) con un lenguaje de programación propio (lenguaje M). Está disponible para las plataformas Unix, Windows y Apple Mac OS X. Entre sus prestaciones básicas se hallan: la manipulación de matrices, la representación de datos y funciones, la implementación de algoritmos, la creación de interfaces de usuario (GUI) y la comunicación con programas en otros lenguajes y con otros dispositivos hardware. El paquete MATLAB dispone de dos herramientas adicionales que expanden sus prestaciones, a saber, Simulink (plataforma de simulación multidominio) y GUIDE (editor de interfaces de usuario - GUI). Además, se pueden ampliar las capacidades de MATLAB con las cajas de herramientas (toolboxes); y las de Simulink con los paquetes de bloques (blocksets). Espacio de Trabajo Command Window: ventana donde escribiremos los comandos. Current Directory: directorio actual de trabajo. Cuando se ejecute una sentencia que necesita un determinado archivo, MATLAB lo buscará primero en el directorio actual. Workspace: espacio de trabajo donde podemos ver información sobre las variables que estamos utilizando. Command History: histórico de los comandos que estamos utilizando. 2

Variables y Operadores Operadores Básicos Aritméticos: Operador Símbolo Expresión en MATLAB Suma + a+b Resta - a-b Multiplicación * a*b División / a/b Potencia ^ a^b Lógico y Relacionales: Operador Símbolo Expresión en MATLAB Menor que < a<b Menor o igual que <= a<=b Igual == a==b Mayor que > a>b Mayor o igual que >= a>=b Distinto ~= a~=b Variables y Constantes Especiales Variable Definición Valor ans Vble. usada por defecto para? almacenar el último resultado clock Reloj (año, mes, día, hora,? minutos y segundos) date Fecha (día-mes-año)? pi Razón de una circunferencia a su 3.1416 diámetro eps Precisión mínima de la máquina 2.2204e-016 inf Infinito Inf nan Not a number NaN i y j = = 1 0 + 1.0000i Para evaluar un comando sin que se escriba por pantalla, se escribe punto y coma (;) al final de la línea. Las variables son sensibles a las mayúsculas, deben comenzar siempre con una letra, no pueden contener espacios en blanco y pueden nombrarse hasta con 63 caracteres. Para obtener información sobre las variables, las podemos ver en el Workspace o, por el contrario, verlas en el Command Window usando los comandos: 3

Modelos Computacionales who: muestra la lista de variables en uso whos: muestra la lista de variables en uso junto con información sobre el tamaño, tipo y atributos. Para borrar las variables en uso (en el Workspace) usamos el comando clear. Para borrar la venta de comandos (Command Window) usamos el comando clc. Para escribir comentarios se escribe el símbolo de tanto por ciento (%). >> a=3 a = 3 >> b=5; >> a*b 15 >> a<b 1 >> (a<b) == 0 0 >> (a^2 < b) == 0 1 >> whos Name Size Bytes Class Attributes a 1x1 8 double ans 1x1 1 logical b 1x1 8 double 4

Algunas Funciones Comunes Función Definición abs(x) Valor absoluto o magnitud de un nº complejo sign(x) Signo de un nº exp(x) Exponencial log(x) Logaritmo natural o neperiano log2(x) Logaritmo en base 2 log10(x) Logaritmo en base 10 mod(x,y) Módulo después de la división sqrt(x) Raíz cuadrada gcd(m,n) Máximo común divisor lcm(m,n) Mínimo común múltiplo ceil(x) Redondea hacia infinito fix(x) Redondea hacia cero floor(x) Redondea hacia menos infinito round(x) Redondea hacia el entero más cercano Sin(x) Seno Cos(x) Coseno Tan(x) Tangente Cot(x) Cotangente Sinh(x) Seno hiperbólico Cosh(x) Coseno hiperbólico Para obtener ayuda sobre cualquier función, escribimos help <nombre_función> en la línea de comandos (Command Window). También podemos abrir la ventana de ayuda pulsando la tecla F1. En esta ventana podemos consultar palabras concretas, demostraciones, información sobre una determinada toolbox, etc. 5

Modelos Computacionales Vectores y Matrices Los vectores se introducen entre corchetes y sus elementos están separados por espacios o comas. Se referencian usando índices entre paréntesis. El índice end nos permite acceder al último elemento del vector y la función length su longitud. Los dos puntos (:) permiten referenciar varios elementos del vector. También se pueden referenciar elementos concretos usando índices entre corchetes ([]). >> v = [15 32 67 2] v = 15 32 67 2 >> v(3) 67 >> v(2:3) 32 67 >> v(end) 2 >> length(v) 4 Las matrices se definen de forma análoga, pero separando cada fila con punto y coma (;). Para transponer una matriz se usa apóstrofe ( ). La función size devuelve las dimensiones de la matriz, mientras que length devuelve la mayor dimensión. Para referenciar una matriz necesitamos dos índices, la fila y la columna. Los dos puntos (:) permiten referenciar varios elementos de la matriz. Se pueden referenciar elementos concretos usando índices entre corchetes ([]). También podemos referenciar cada elemento de una matriz con un solo índice, pero debemos de saber que el orden elegido por MATLAB es por columnas. El índice end nos permite acceder al último elemento de una dimensión concreta de la matriz. 6

>> A=[1 2 3; 4 5 6] A = 1 2 3 4 5 6 >> size(a) 2 3 >> length(a) 3 >> A(1,2) 2 >> A(:,2) 2 5 >> A(2,:) 4 5 6 >> A(2) 4 >> A(end,[2 3]) 5 6 7

Modelos Computacionales Operadores Básicos para Matrices Operador Símbolo Expresión en MATLAB Suma de matrices + A+B Resta de matrices - A-B Multiplicación de matrices * A*B Multiplicación elemento a elemento de matrices.* A.*B División de matrices por la derecha / A/B División elemento a elemento de matrices por la./ A./B derecha División de matrices por la izquierda \ A\B División elemento a elemento de matrices por la.\ A.\B izquierda Potencia de una matriz ^ A^n Potencia elemento a elemento de matrices.^ A.^B Traspuesta de una matriz A >> A=[1 2; 3 4] A = 1 2 3 4 >> B=[0 1; 2 1] B = 0 1 2 1 >> A*B 4 3 8 7 >> A.*B 0 2 6 4 >> A' 1 3 2 4 >> B+5 5 6 7 6 8

Algunas Funciones Básicas para Matrices Función det(a) inv(a) eig(a) rank(a) diag(v) diag(a) norm(a) trace(a) tril(a) triu(a) abs(a) size(a) zeros(m,n) ones(m,n) rand(m,n) randn(m,n) eye(m,n) magic(n) Definición Determinante Inversa Autovalores Rango Matriz diagonal con el vector v en la diagonal Extrae la diagonal de A en un vector Norma Traza Matriz triangular inferior a partir de A Matriz triangular superior a partir de A Valor absoluto Dimensiones Matriz mxn de ceros Matriz mxn de unos Matriz mxn de números aleatorios con distribución uniforme en (0,1) Matriz mxn de números aleatorios con distribución normal en (0,1) Matriz identidad mxn Cuadrado mágico nxn >> A=[1 2 3; 4 5 6; 7 8 9] A = 1 2 3 4 5 6 7 8 9 >> v=[1 2 3]; >> diag(v) 1 0 0 0 2 0 0 0 3 >> diag(a) 1 5 9 >> det(a) 6.6613e-016 9

Modelos Computacionales >> eig(a) 16.1168-1.1168-0.0000 >> rank(a) 2 >> trace(a) 15 >> tril(a) 1 0 0 4 5 0 7 8 9 >> triu(a) 1 2 3 0 5 6 0 0 9 >> zeros(2,3) 0 0 0 0 0 0 >> ones(1,5) 1 1 1 1 1 >> rand(3,3) 0.9797 0.2581 0.2622 0.4389 0.4087 0.6028 0.1111 0.5949 0.7112 >> eye(3,3) 1 0 0 0 1 0 0 0 1 10

Gráficas 2D Para generar gráficas en 2D, se usa el comando plot, el cual toma como argumentos dos vectores de la misma longitud: plot(x,y): dibuja el vector Y frente al vector X. Se permite dibujar varios gráficos en la misma figura usando la sintaxis plot(x1,y1,x2,y2,,xn,yn). Se pueden cambiar las propiedades de los elementos que constituyen las distintas gráficas, como el color, el tipo de línea, etc. Algunas Funciones Básicas para Manipular Gráficas Función xlabel( texto ) ylabel( texto ) title( texto ) text(x,y, texto ) grid axis([xmin xmax ymin ymax]) axis square hold on hold off subplot(m,n,p) Definición Etiqueta el eje x Etiqueta el eje y Título de la gráfica Texto en las coordenadas determinadas Rejilla en la gráfica Fija los valores máximos y mínimos de los ejes Hace cuadrada la región de los ejes Mantiene el gráfico abierto para superponer información Deja de mantenerlo abierto para reemplazar la información Divide la figura en mxn gráficas, activando la subgráfica p >> x=[0 1 2 3 4]; y=[2-1 3 4 0]; z=[-2 0 1 3 3]; >> subplot(1,2,1); >> plot(x,y,x,z) >> axis square >> subplot(1,2,2); >> x=1:360; y=sind(x); >> plot(x,y); title( Seno ); grid >> axis square 11

Modelos Computacionales 3D Para generar gráficas en 3D, se usa el comando plot3, el cual toma como argumentos tres vectores de la misma longitud: plot(x,y,z): dibuja el vector Z frente a los vectores X e Y. Se permite dibujar varios gráficos en la misma figura usando la sintaxis plot3(x1,y1,z1,x2,y2,z2,,xn,yn,zn). Se pueden cambiar las propiedades de los elementos que constituyen las distintas gráficas, como el color, el tipo de línea, etc. >> t = 0:pi/50:10*pi; >> plot3(sin(t),cos(t),t); >> grid on >> axis square 12

También se usan las siguientes funciones para dibujar mallas y superficies en 3D: [X,Y]=meshgrid(x,y): genera una rejilla de puntos a partir de los vectores x e y. mesh(x,y,z): dibuja una malla en 3D. Z es el valor que toma Z=f(X,Y) en el punto de la rejilla X, Y. surf(x,y,z): dibuja una superficie en 3D. Z es el valor que toma Z=f(X,Y) en el punto de la rejilla X, Y. La superficie se diferencia de la malla en que se rellenan los espacios entre líneas. >> x = -10:0.5:10; y = -10:0.5:10; >> [X,Y] = meshgrid (x,y); >> Z = sin (sqrt (X.^2 + Y.^2))./ sqrt (X.^ 2 + Y.^ 2 + 0.1); >> subplot(1,2,1); mesh (X,Y,Z); title( Mesh ); >> subplot(1,2,2); surf(x,y,z); title( Surf ); 13

Modelos Computacionales Scripts y Funciones MATLAB puede ejecutar programas que se encuentren almacenados en ficheros ASCII con la extensión.m. Estos ficheros pueden estar en algún subdirectorio del PATH o de del directorio actual de trabajo. Estos ficheros.m pueden ser scripts o funciones. Scripts Son ficheros.m que ejecutan secuencialmente los comandos de MATLAB que contienen al introducir el nombre del fichero.m sin la extensión. %%%%%%%%%%%%% % Script: distancia.m % %%%%%%%%%%%%% x=[1 2 3 4 5]; y=[2 3 1 5 4]; D=sqrt(sum((x-y).^2)) D = 2.8284 Funciones Son ficheros.m a los que se les permite pasar argumentos de entrada y devolver resultados en variables de salida. El paso de parámetros es por valor y no por referencia. La sintaxis para definir una función es la siguiente: function [sal1, sal2, ] = nombre_fichero(ent1, ent2,...) El nombre de la función es idéntico al nombre del fichero sin la extensión, y éste no puede empezar por una cifra. El número de variables de entrada pasadas a una función está disponible dentro de la función en la variable nargin y el número de variables de salida solicitadas cuando una función es llamada, está disponible dentro de la función en la variable nargout. %%%%%%%%%%%%%%% % Function: distancia.m % %%%%%%%%%%%%%%% function D = distancia(x,y) D=sqrt(sum((x-y).^2)) 14

% Por línea de comandos introducimos ahora: >> x=[1 2 3 4 5]; y=[2 3 1 5 4]; >> D=distancia(x,y) D = 2.8284 15

Modelos Computacionales Programación en MATLAB MATLAB posee también un lenguaje de programación cuya sintaxis es muy parecida al de los lenguajes de programación más comunes. A continuación presentamos los elementos de programación más comunes en MATLAB. Estos pueden ser utilizados en ficheros.m. Bucle FOR Sintaxis: for variable = expresión <comando> < comando > < comando > end >> for i=10:-1:1, a(length(a)-i+1)=i; end >> a a = 10 9 8 7 6 5 4 3 2 1 Bucle WHILE Sintaxis: while variable = expresión <comando> < comando > < comando > end >> a=[]; >> i=1; >> while sum(a)<10, a(i)=i; i=i+1; end >> a a = 1 2 3 4 16

>> sum(a) 10 Podemos utilizar la sentencia break para salir de un bucle en cualquier momento. Con la sentencia continue, pasamos inmediatamente a la siguiente iteración del bucle. Sentencia Condicional IF Sintaxis: if <expresión1> <órdenes evaluadas si la expresión1 es verdadera> elseif <expresión2> <órdenes evaluadas si la expresión2 es verdadera> elseif <expresión3> <órdenes evaluadas si la expresión3 es verdadera> elseif else <órdenes evaluadas si ninguna otra expresión es verdadera> end >> a=-3; >> if a<0, disp('a es negaitvo'); else disp('a es positivo'); end a es negaitvo 17