Introducción a MATLAB



Documentos relacionados
Introducción a MATLAB

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

Funciones & Estructuras de control

Practica 2. Estructuras de Datos en MATLAB

2 Operaciones de producto y división de polinomios

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

UNIVERSIDAD AUTÓNOMA DE NUEVO LEÓN

Fundamentos básicos de Matlab

La suma de dos números.

Introducción a MATLAB

Tema 2: Uso de los comandos básicos

MICROSOFT EXCEL QUÉ ES MICROSOFT EXCEL?

Introducción a Matlab

CAPITULO I INTRODUCCIÓN

Programación con Matlab

EJERCICIO 1. CREACIÓN DE UNA FUNCIÓN

CALCULO GRADO EN INGEN. INFORM. DEL SOFTWARE PRACTICA 1. INTRODUCCIÓN A MATLAB

Pre-Laboratorio 1 MA-33A : Introducción a Matlab

Introducción a MATLAB

PRÁCTICA 1: Introducción a Matlab

M a tl a b. Oriol Roca ARREGLOS EN MATLAB.

Introducción al MATLAB

TEMA 5. PROGRAMACIÓN BÁSICA EN MATLAB /OCTAVE

Programación con Octave/Octave-UPM (I)

2. Práctica. 2.1.Introducción. 2.2.Funcionamiento de MATLAB. 2.3.Programas modulizados

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

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

Introducción a Matlab.

Introducción al Uso de MATLAB. Dr. Ramón Zúñiga Posgrado en Ciencias de la Tierra, UNAM

UNIDAD 2: INTRODUCCIÓN AL LENGUAJE DE PROGRAMACiÓN R

INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería Universidad Nacional de Mar del Plata

Introducción al análisis numérico

Programación MATLAB: Programas y Funciones.

Programación MATLAB: Programas y Funciones.

GUIA BÁSICA DEL PROCEDIMIENTO MATRIX END MATRIX

Tema 2. FUNCIONES, VARIABLES Y CARPETAS EN LA CALCULADORA CLASSPAD

Ing. Ramón Morales Higuera

5. INTRODUCCIÓN A LAS HOJAS DE CÁLCULO

PRÁCTICA NÚMEROS REALES Y COMPLEJOS CURSO Práctica 1 (21- IX-2016)

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

FUNDAMENTOS DE INFORMÁTICA

Cálculo Numérico (521230)

Tema 2. El lenguaje JAVA

2. ENTIDADES PRIMITIVAS PARA EL DESARROLLO DE ALGORITMOS

CÁTEDRA DE MÉTODOS NUMÉRICOS

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

LOS NÚMEROS DECIMALES DESCOMPOSICIÓN DE NÚMEROS DECIMALES. 28,246 = 2D + 8 U + 2d + 4 c + 6 m 28,246 = ,2 + 0,04 + 0,006

Manual del Usuario de Microsoft Access Consultas - Página 1. Tema IV: Consultas. IV.1. Creación de Consultas

UNIDAD I. ALGORITMOS

Expresión, Operador, Operando, Asignación, Prioridad

Los números naturales

Sesión 1 Curso MATLAB. Ing. Daniel Bernal

INTRODUCCIÓN AL TURBO PASCAL.

POTENCIAS. MÚLTIPLOS Y DIVISORES. MÁXIMO COMÚN DIVISOR Y MÍNIMO COMÚN MÚLTIPLO.

Complejidad de Algoritmos

Prácticas de Análisis Matricial con MATLAB

Unidad 1 Números. Los números naturales son aquellos que se utilizan para contar los elementos de un conjunto.

UNIDAD 1: NÚMEROS NATURALES

Introducción a MATLAB

Programación de los problemas de Física en.

Los números enteros. > significa "mayor que". Ejemplo: 58 > 12 < significa "menor que". Ejemplo: 3 < 12 Cualquier número positivo siempre es mayor

Comenzando a usar MatLab:

EJEMPLO DE CÓDIGO JAVA BÁSICO. CREAR CLASES CON CAMPOS, CONSTRUCTOR Y MÉTODOS. LA PALABRA CLAVE THIS (CU00652B)

INSTRUCCIONES PARA EL USO DEL SOFTWARE (IS)

GNU OCTAVE. Principales características

SESIÓN 1 PRE-ALGEBRA, CONCEPTOS Y OPERACIONES ARITMÉTICAS BÁSICAS

TUTORIAL INTRODUCTORIO DE MATLAB

ARREGLOS EN. Nota: El autor.

Qué Tipos de Datos se Almacenan en OpenOffice.org Calc?

$0 Representa al parámetro cero o nombre del programa $1 Representa al parámetro uno $2 Representa al parámetro dos

UNIDAD DE APRENDIZALE III UNIDAD DE APRENDIZAJE 3 ( 8 HORAS)

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

INTRODUCCIÓN A MATLAB. Laboratorio de Biofísica, U.T.P

1. El sistema de los números reales

Inducción a MATLAB. Álgebra Lineal. Escuela de Matemáticas. Facultad de Ciencias Universidad Nacional de Colombia Sede Medellín

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

Transcripción:

Introducción a MATLAB Sistemas Conexionistas - Curso 08/09 MATLAB es un sistema interactivo basado en matrices que se utiliza para cálculos científicos y de ingeniería. Puede resolver problemas numéricos relativamente complejos sin necesidad de escribir un programa en realidad. El nombre MATLAB es la abreviatura de MATrix LABoratory. 1. Comandos básicos Matlab puede usarse como una calculadora. Los cálculos que no se asignan a una variable en concreto se asignan a la variable de respuesta por defecto que es ans (del inglés, answer): >>2+3 Sin embargo, si el cálculo se asigna a una variable, el resultado se almacena en ella: >>x=2+3 x = Para conocer el valor de una variable, basta teclear su nombre y Matlab nos devolverá su valor: >>x x = Si se añade un punto y coma (;) al final de cualquier instrucción, se realiza el cálculo pero no se muestra la respuesta.

Las operaciones se evalúan por orden de prioridad: primero las potencias (ˆ), después las multiplicaciones y divisiones y, finalmente, las sumas y restas. Las operaciones de igual prioridad se evalúan de izquierda a derecha: >>2/4*3 1.000 >>2/(4*3) 0.1667 En Matlab están definidas las funciones matemáticas habituales: >>cos(pi) % pi es una variable con valor predeterminado 3.1419... -1 >>exp(1) 2.7183 % Función exponencial evaluada en 1, es decir, el número e Para conocer las variables que se han usado hasta el momento se utiliza el comando who: >>who Your variables are: ans x o, si se quiere más información (obsérvese que todas las variables son arrays) existe el comando whos: >>whos Name Size Bytes Class ans 1x1 8 double array x 1x1 8 double array Grand total is 2 elements using 16 bytes 2

Para eliminar todas las variables del espacio de trabajo se utiliza el comando clear. Si se desea eliminar sólo una variable se utilizará el comando clear seguido del nombre de la variable a eliminar: >>clear x >>who Your variables are: ans Para más informacion, consultar la ayuda del programa (help ops). Notas: Matlab distingue mayúsculas de minúsculas Los comentarios van precedidos por % La ayuda de un comando se invoca con help <comando> La documentación de un comando se invoca con doc <comando> Con doc se accede a la documentación general de Matlab 2. Matrices y vectores Para crear una matriz basta con escribir sus elementos entre corchetes, separando las filas por puntos y comas (;): >> M = [ 1 2 3; 4 6 ] M = 1 2 3 4 6 Para acceder a un elemento de la matriz se indica el nombre de la matriz seguido de la fila y la columna a la que deseamos acceder entre paréntesis: 3

>> M(2,3) M = 6 El operador dos puntos (:) es el operador de rango. J:K es equivalente a [J, J+1,..., K] siempre que J < K y J:D:K es equivalente a [J, J+D, J + 2 * D,..., K]. El operador dos puntos también se puede utilizar para seleccionar filas, columnas o partes de una matriz: >> M(:,1) >> M(1,2:) >> M(:) >> M(2,:) 1 2 3 1 4 6 4 4 2 3 6 Con el operador se realiza la transposición de matrices: >> M 1 4 2 3 6 Matlab permite aplicar una función a todos los elementos de una matriz y además realizar operaciones entre los elementos de matrices situados en la misma posición. Para esto último, se antepone un punto (.) al operador multiplicación, división o potencia: >> N = [10 20 30; 40 0 60]; >> N./ M 10 10 10 10 10 10 >> N / 10 4

1 2 3 4 6 Matlab dispone de una serie de funciones para trabajar con matrices tales como ones, zeros, size, length, max, min, minmax, rand, inv, det, sum,... Para más información, consultar la ayuda del programa (help elmat). 3. Lenguaje de programación 3.1. Sentencias If IF expresión ELSEIF expresión ELSE END if x < 0 x = -x; elseif x > 0 x = x * 2; else x = 0; For FOR variable = expresión, END; for i = 0:2*pi, for j = 0:0.1:2*pi, a = a + 2 * cos(i) + sin(j); While WHILE expresión, END while (i ~= 0), x = x * x; i = i - 1;

Switch SWITCH expresión CASE caso1, CASE {caso2, caso3,...} OTHERWISE END switch x case 1, f = funcion1(x); case 2, f = funcion2(x); otherwise f = funcion1(x); 3.2. Funciones y scripts Los scripts permiten al usuario escribir un conjunto de órdenes en un editor de texto (incluido en el programa Matlab) para ejecutarlas posteriormente en el orden en el que se han escrito. En lugar de introducir las órdenes una a una en el command window o ventana de comandos las órdenes se escriben una tras otra en un fichero con extensión.m. Un script tiene acceso a las variables definidas en el espacio de trabajo. Además, las variables creadas mediante el script son globales, es decir, se mantienen en el espacio de trabajo tras la ejecución del script. Otra forma de crear programas en Matlab es a través de funciones, almacenadas también en un fichero con extensión.m. Una función tiene un nombre, se le pasan cero o varios parámetros y puede devolver uno o varios resultados. El nombre de la función debe coincidir con el nombre del fichero en el que se almancena. % Función propia 1 function resultado = f1 (x, y) % variables de entrada: x e y % variable de salida: resultado resultado = (x * 2) + (y * 3)+ sqrt((x + y) /2); 6

% Función propia 2 function [resultado1, resultado2] = f2 (x) % variable de entrada: x % variables de salida: resultado1 y resultado2 resultado1 = (x * x) + 3; resultado2 = cos(x) + sin(x); Las funciones definidas se utilizand de la misma forma que las funciones propias de Matlab, es decir, basta con llamar a la función con los parámetros necesarios desde la ventana de comandos o desde otra función o script: >> a = f1(c, d) ; >> [b, c] = f2(z); Una función no puede acceder a las variables definidas en el espacio de trabajo. Además, todas las variables que utiliza son locales, esto es, desaparecen una vez finaliza la llamada a la función. Para ejecutar una función o un script, es necesario que el directorio de trabajo coincida con el directorio donde se encuentra el script o la función. 4. Ejercicios 4.1. Vectores y matrices 1. Crea un vector V1 con enteros desde 1 hasta 1000 2. Crea un vector V2 con números de 0 a 2, espaciados 0,01 unidades 3. Halla el seno de todos los elementos del vector V2 4. Define las siguientes matrices 1 4 6 3 4 2 3 4 4 6 1 M1 =, M2 = 9 10 2 7 3 4 8 3 7 1 7

y realiza las siguientes operaciones: a) Suma las matrices M1 y M2 b) Multiplica M1 por 3 c) Multiplica cada elemento de M1 por el elemento situado en la misma posición en M2 d) Obtén el tamaño de la matriz M1 e) Obtén el número de filas de la matriz M2 f ) Accede al elemento situado en la fila 4 y columna 1 de la matriz M2 g) Muestra la tercera fila de la matriz M2 h) Muestra la segunda columna de la matriz M1 i) Obtén la matriz transpuesta de M1 j ) Crea una submatriz SM1 que abarque las tres primeras filas y las dos últimas columnas de M1 k) Obtén el valor máximo y el valor mínimo de la matriz M1. Multiplica las siguientes matrices M3 = 3 1 1 2, M4 = 2 2 7 3 6. Crea una matriz M de 3 filas y 2 columnas formada por ceros 7. Crea una matriz M6 de 4 filas y columnas formada por unos 8. Crea una matriz M7 de 2 filas y 3 columnas formada por valores aleatorios 4.2. Programación 1. El uso de bucles es común en la mayoría de los lenguajes de programación. En Matlab, muchos bucles consistentes en aplicar una función a un conjunto de datos 8

pueden reescribirse como operaciones sobre matrices, incrementando así la eficiencia del proceso. Convierte los siguientes bucles a operaciones matriciales: a) M = [1 2 3; 4 6; 7 8 9]; for i = 1:size(M,1) for j = 1:size(M,2) N(i,j) = M(i,j) * M(j,i); b) j = 1; for i = 0:0.1:pi y(j) = sin(2 * i); j = j + 1; c) R = [ 1 2; 3 4 ; 6; 7 8; 9 0]; for i = 1:2:size(R,1) for j = 1:size(R,2) S(floor(i/2) + 1,j) = R(i,j) * 2; 2. Crea un script que genere dos matrices con valores aleatorios del mismo tamaño, las sume y divida el resultado por 2. Ejecuta el script y comprueba el estado del espacio de trabajo antes y después de la ejecución. 3. Implementa una función llamada stat que devuelva la media, el máximo y el mínimo de un vector pasado como parámetro. Crea un vector, aplícale la función y comprueba el estado del espacio de trabajo tras la llamada a la función. 9