Example: tourism industry

Introducción a Matlab y Simulink - ugr.es

Complementos de Procesado de Se al y ComunicacionesM ster en Sistemas MultimediaIntroducci n a Matlab y SimulinkJavier Ram rez P rez de InestrosaDpto. Teor a de la Se al, Telem tica y ComunicacionesUniversidad de GranadaEmail: tutorial se puede obtener en: ~javierrpIntroducci n a Matlab y SimulinkJavier Ram rez2 Qu es Matlab ? Matlab es un lenguaje de alto nivel para realizar c lculos cientifico-t cnicos. Integra las herramientas de c lculo necesarias con otras de visualizaci n as como, un entorno de programaci n de f cil n a Matlab y SimulinkJavier Ram rez3 Aplicaciones t picas C lculo matem tico Desarrollo de algoritmos Adquisici n de datos Modelado, simulaci n y prototipado An lisis de datos y visualizaci n Gr ficos Desarrollo de aplicaciones e interfaces gr ficas de usuario (GUI)Introducci n a Matlab y SimulinkJavier Ram rez4M s sobre Matlab MatLabsignifica MATrixLABoratory El tipo b sico de datos es el vector que no requiere ser dimensionado.

Introducción a Matlab y Simulink Javier Ramírez 2 ¿Qué es Matlab? MATLAB es un lenguaje de alto nivel para realizar cálculos cientifico-técnicos.

Information

Domain:

Source:

Link to this page:

Please notify us if you found a problem with this document:

Other abuse

Transcription of Introducción a Matlab y Simulink - ugr.es

1 Complementos de Procesado de Se al y ComunicacionesM ster en Sistemas MultimediaIntroducci n a Matlab y SimulinkJavier Ram rez P rez de InestrosaDpto. Teor a de la Se al, Telem tica y ComunicacionesUniversidad de GranadaEmail: tutorial se puede obtener en: ~javierrpIntroducci n a Matlab y SimulinkJavier Ram rez2 Qu es Matlab ? Matlab es un lenguaje de alto nivel para realizar c lculos cientifico-t cnicos. Integra las herramientas de c lculo necesarias con otras de visualizaci n as como, un entorno de programaci n de f cil n a Matlab y SimulinkJavier Ram rez3 Aplicaciones t picas C lculo matem tico Desarrollo de algoritmos Adquisici n de datos Modelado, simulaci n y prototipado An lisis de datos y visualizaci n Gr ficos Desarrollo de aplicaciones e interfaces gr ficas de usuario (GUI)Introducci n a Matlab y SimulinkJavier Ram rez4M s sobre Matlab MatLabsignifica MATrixLABoratory El tipo b sico de datos es el vector que no requiere ser dimensionado.

2 Proporciona unos paquetes de extensi n ( toolboxes ) para aplicaciones espec ficas Estos paquetes incluyen librer as de funciones Matlab (M-files) que extienden las posibilidades de MatLabpara resolver problemas espec ficosIntroducci n a Matlab y SimulinkJavier Ram rez5El entorno de MatlabIntroducci n a Matlab y SimulinkJavier Ram rez6 Sintaxis Algunos ejemplos sencillosEntradaSalidaComentarios2 + 37-534*2121234/57862^5ans = 5ans = 2ans = 7208ans = = 32 Los resultados son los esperados. N tese que al resultado se le da el nombre = sqrt(2)a = puede escoger el nombre de la n a Matlab y SimulinkJavier Ram rez7b = a, pi, 2 + 3ib = = = + pueden introducir varios comandos en una sola l nea. Pi, i, y j son = sin(pi)epsc = = "eps" es el limite actual de precisi n. No se puede operar con n meros inferiores a = [123456789]e = [1:9]f = 1:9d = 1 2 3 4 5 6 7 8 9e = 1 2 3 4 5 6 7 8 9 f = 1 2 3 4 5 6 7 8 9 Definici n de vectores.

3 "d", "e", son "f" vectores. Son iguales. El operador : se utiliza para formar vectores; cuenta desde el n mero inicial al final de uno en = 0:2:10f(3)f(2:7)f(:)g = 0 2 4 6 8 10ans = 3ans = 2 3 4 5 6 71 2 3 4 5 6 7 8 9 Otros usos de : . Se utiliza para acceder a parte o la totalidad de los datos de un vector o n a Matlab y SimulinkJavier Ram rez8h = [1 2 3];h'(nada)ans = 123Un punto y coma ";" evita que se visualice la salida. Una coma simple " ' " calcula la traspuesta de una matriz, o en el caso de vectores, intercambia entre vectores fila y * h'h .* hh + hans = 14ans = 1 4 9ans = 2 4 6 Operaciones con vectores. * es la multiplicaci n matricial. Las dimensiones deben ser las apropiadas. " .* " es la multiplicaci n componente a = [ 1 2 3; 4 5 6; 7 8 9]g = 1 2 34 5 67 8 9 Construcci n de (2,3)g(3,:)g(2,3) = 4ans = 6ans = 7 8 9g = 1 2 34 5 47 8 9 Accediendo a los elementos de la matriz.

4 ":" se utiliza para acceder a una fila n a Matlab y SimulinkJavier Ram rez9g^2g .^ 2ans =303642668196102126150ans =149 162536496481 Multiplica la matriz por ella al cuadrado cada elemento de la n a Matlab y SimulinkJavier Ram rez10 Control de la salida El comando format format compact Controla el espaciado de l neas. format long Muestra los 15 d gitos que se utilizan en el c lculo. format short Muestra nicamente cinco d gitos. ; al final del comando. No visualizar salida: help format M s informaci n a Matlab y SimulinkJavier Ram rez11M s sobre matrices Funciones incluidas en MatLabEntradaSalidaComentariosrand(2)ran d(2,3)ans = = una matriz de n meros aleatorios entre 0 y 1zeros(2)ones(2)ans = 0000ans = 1111 Genera una matriz 2x2 de ceros o (2)ans = 1001 Matriz identidad (3)ans = de Hilbert n a Matlab y SimulinkJavier Ram rez12M s sobre matrices Concatenaci n Generar nuevas matrices a partir de otras creadas previamente Por ejemplo: Sea la matriz a:>> a = [1 2; 3 4]a = 1 23 4 Introducci n a Matlab y SimulinkJavier Ram rez13 EntradaSalida[a, a, a]ans = 1 2 1 2 1 23 4 3 4 3 4[a; a; a]ans = 1 23 41 23 41 23 4[a, zeros(2).]

5 Zeros(2), a']ans = 1 2 0 03 4 0 00 0 1 30 0 2 4M s sobre matrices -concatenaci nIntroducci n a Matlab y SimulinkJavier Ram rez14M s sobre matrices Programaci n Se pueden construir matrices mediante programaci n for i=1:10,for j=1:10,t(i,j) = i/j;endend No se producir a salida puesto que la nica l nea que podr a generar salida (t(i,j) =i/j;)termina en ; Sin el ; , Matlab escribir a la matriz t 100 veces!!Introducci n a Matlab y SimulinkJavier Ram rez15 Operaciones con matrices +, -, *, y / Definen operaciones con matrices. Debemos distinguir: .* : Multiplicaci n componente a componente. * Multiplicaci n n a Matlab y SimulinkJavier Ram rez16 Escalares Un escalar es un n mero. Matlab los almacena como matrices 1x1 Todas las operaciones entre escalares y matrices se realizan componente a componente salvo: La potencia ( ^ ).Introducci n a Matlab y SimulinkJavier Ram rez17 Escalares EjemplosEntradaSalidaComentariosb=2b=2 Define b como un + bans = 3 45 6La suma se hace componente a * bans = 2 46 8 Igual que la multiplicaci ^ bans = 7 1015 22 Potencia matricial -a*aa.

6 ^ bans = 1 49 16 Potencia componente a = 1 23 4 Introducci n a Matlab y SimulinkJavier Ram rez18 Vectores Un vector es una matriz de una sola fila o columnaEntradaSalidaComentariosv = [1 2 3]u = [3 2 1]v = 1 2 3u = 3 2 1 Define 2 * uErrorLas dimensiones no * u'ans = 10Al tomar la traspuesta se corrige el (v,u)ans = 10 Producto escalar (id ntico al anterior).cross(v,u)ans = -4 8 -4El producto vectorial s lo se emplea con vectores en 3 n a Matlab y SimulinkJavier Ram rez19 MatricesEntradaSalidaComentariosk = [1623;51110;976]k = 162351110976 Define una (k)ans= 33 Traza de una matrizrank(k)ans = 3 Rango de una (k)ans = -136 Determinante de una matriz Matlab tiene numerosas funciones predefinidas (help matfun).Introducci n a Matlab y SimulinkJavier Ram rez20 MatricesEntradaSalidaComentariosinv(k)an s = de una matriz[vec,val] = eig(k)vec = = propios y autovaloresde una columnas de "vec" contienen los vectores propios; las entradas de la diagonal de "val" son los n a Matlab y SimulinkJavier Ram rez21 Variables en el espacio de trabajo whos Lista las variables definidas en el entorno.

7 >> whosName Size Bytes Classa 100x1 800 double arrayb 100x100 80000 double arrayc 1x1 8 double arrayGrand total is 10101 elements using 80808 bytes clear Borra variables del n a Matlab y SimulinkJavier Ram rez22 Resoluci n de sistemas de ecuaciones Una de las principales aplicaciones de las matrices es la representaci n de sistemas de ecuaciones lineales. Si aes una matriz de coeficientes, xes un vector columna que contiene las inc gnitas y blos t rminos constantes, la ecuaci nax=brepresenta el correspondiente sistema de n a Matlab y SimulinkJavier Ram rez23 Resolviendo ecuaciones Para resolver el sistema en Matlab x = a \b xes igual a la inversa de apor b Ejemplo a = [1 2 3; 4 5 6; 7 8 10]; b = [1 1 1]'; Soluci n:x = -1 1 0 Introducci n a Matlab y SimulinkJavier Ram rez24 Salvar y recuperar datos Los datos de la sesi n se pierden al salir de Matlab .

8 Para salvar la sesi n (entrada y salida) Diary( ); Guarda los comandos introducidos en la sesi n. Diary <ON/OFF> ; Para salvar una o varias matrices save (guarda todas las variables) save x (s lo guarda x)Introducci n a Matlab y SimulinkJavier Ram rez25 Salvar y recuperar matrices savesesion Salva todas las variables en el archivo binario . savefichero X Salva s lo la variable X load sesion Recupera los datos previamente salvados Si los ficheros se pueden salvar en formato texto (-ascii). Pueden verse con un editor de n a Matlab y SimulinkJavier Ram rez26Gr ficos El comando b sico es:plot plot(y); plot(x,y); plot(x,y, b+ ,x,z, gx ); color (b,g) blue,green Marcador (+,x) Personalizaci n del gr fico: title, xlabel, ylabel, legend, n a Matlab y SimulinkJavier Ram rez27 Ejemplo Mes = 1:12; T_Gr = [-2 0 2 4 8 12 14 14 12 8 4 0]; T_Ma = [-4 -2 0 2 6 14 18 18 16 8 2 -2]; plot(Mes, T_Gr, 'bo', Mes, T_Ma, 'rv'); xlabel('Mes'); ylabel('Temperatura ( C)'); title('Temperaturas minimas en Granada y Madrid'); legend('Granada','Madrid'); grid;Introducci n a Matlab y SimulinkJavier Ram rez28 Resultado:Introducci n a Matlab y SimulinkJavier Ram rez29subplot Mes = 1:12 T_Gr = [-2 0 2 4 8 12 14 14 12 8 4 0]; T_Ma = [-4 -2 0 2 6 14 18 18 16 8 2 -2]; subplot(2,1,1); plot(Mes, T_Gr, 'bo-'); xlabel('Mes'); ylabel('Temperatura ( C)'); title('Temperaturas minimas en Granada'); grid.

9 Subplot(2,1,2); plot(Mes, T_Ma, 'rv-'); xlabel('Mes'); ylabel('Temperatura ( C)'); title('Temperaturas minimas en Madrid'); grid;Introducci n a Matlab y SimulinkJavier Ram rez30 ResultadoIntroducci n a Matlab y SimulinkJavier Ram rez31Gr ficos tridimensionales [x,y] = meshgrid(-2:.2:2, -2:.2:2); z = x .* exp(-x.^2 -y.^2); mesh(z);Introducci n a Matlab y SimulinkJavier Ram rezGr ficos tridimensionales Z = X.*exp(-X.^2-Y.^2); contour3(X,Y,Z,30) surface(X,Y,Z,'EdgeColor',[.8 . ],'FaceColor','none') grid off view(-15,25) colormap n a Matlab y SimulinkJavier Ram rez33 Programaci n Ficheros de comandos (scripts) Secuencias de comandos. Al invocarlos se ejecutan en el entorno. Las variables creadas son globales. Ficheros de funci n Permiten definir funciones propias. Variables locales. La informaci n se pasa como par metros. Se pueden definir n a Matlab y SimulinkJavier Ram rez34Un ejemplo de funci nfunction y = media (x)% Valor medio de Para vectores, media(x) devuelve el valor Para matrices, media(x) es un vector fila % que contiene el valor medio de cada columna.

10 [m,n] = size(x);if m == 1m = n;endy = sum(x)/m;Introducci n a Matlab y SimulinkJavier Ram rez35 Argumentos de funciones nargin y nargout N mero de argumentos de entrada y salida con los que se llama a la funci n. Ejemplo:function c = testarg1(a,b)if (nargin == 1)c = a.^2;elseif (nargin == 2)c = a + b;endIntroducci n a Matlab y SimulinkJavier Ram rez36 Subfuncionesfunction [media,mediana] = estadistica(u) % Funci n principal% ESTADISTICA Calcula la media y la % mediana utilizando funciones = length(u);media = mean(u,n);mediana = median(u,n);function a = mean(v,n) % Subfunci n% Calcula la = sum(v)/n;function m = median(v,n) % Subfunci n% Calcula la = sort(v);if rem(n,2) == 1m = w((n+1)/2);elsem = (w(n/2)+w(n/2+1))/2;endIntroducci n a Matlab y SimulinkJavier Ram rez37 BifurcacionesCondici nSentenciasfalsetrueCondici ntrueBloque 1 Bloque 2falseCondici n 1falseCondici n 2 Bloque 1 Bloque 2trueBloque 3falsetrueIntroducci n a Matlab y SimulinkJavier Ram rez38ifSentencia ifif condici nsentenciasendBifurcaci n multipleif condici n1bloque1elseif condici n2bloque2elseif condici n3bloque3elsebloque4endEjemploif rem(a,2) == 0disp('a is par')b = a/2;endIntroducci n a Matlab y SimulinkJavier Ram rez39switchswitchexpresioncasecase1,bloq ue1case{case2, case3.}