Está en la página 1de 6

IEE 2103 Se nales y Sistemas I-2014 N.

Morales

Ayudant a 1 - Tutorial b asico de Matlab


Los contenidos a revisar en esta ayudant a est an basados en los tutoriales publicados en http://www.mathworks.com/help/matlab/getting-started-with-matlab.html, por lo que se recomienda revisar estos de todas formas. La p agina de ayuda de Matlab http://www.mathworks.com/help/matlab/index.html, tiene una documentaci on extensa y completa, con ejemplos de todas las funciones de Matlab, por lo que se recomienda fuertemente usarla como primera fuente de consulta tanto para tareas de este curso, como para trabajo en cursos posteriores. 1

Interfaz de Matlab

En Matlab 2013 2 , la interfaz del programa luce de la siguiente forma:

a) Reconozca los siguientes componentes de la interfaz: Current Folder, Command Window, Workspace y Command History, cu al es la utilidad de cada uno?. b) Asigne a la variable a, el valor de 1. c) Ahora ejecute la operaci on a+1, sin guardarla en una variable, observe en el workspace, e indique donde se encuentra el resultado de esta u ltima operaci on. d) Ahora guarde en la variable b el coseno del resultado obtenido en la parte c. d) Utilice el comando clear all, para reiniciar Matlab y eliminar las variables guardadas.
Si bien mediante los comandos help y doc se puede acceder directamente desde Matlab a las p aginas de ayuda y a la documentaci on, Matlab es un programa bastante pesado para el PC, por lo que no es recomendable consultar la ayuda ah a menos que se cuente con suciente memoria RAM. 2 Para efectos del curso, no hay problema con utilizar versiones anteriores de Matlab, desde Matlab 7 en adelante (es decir versiones del 2004 en adelante), sin embargo nuevas versiones incluyen m as librer as implementadas.
1

IEE 2103 Se nales y Sistemas I-2014 N. Morales

Matrices y arreglos

Las unidades b asicas para ejecutar operaciones en Matlab son las matrices y arreglos. a) Genere un vector columna con los n umeros naturales del 1 al 5 y gu ardelo a la variable a. La separaci on entre cada n umero se puede hacer tanto con un espacio, como con una coma (,). b) Ahora genere una matriz de 33, con los n umeros naturales del 2 al 10. La separaci on entre una la y la siguiente se puede hacer con punto y coma (;). Ahora calcule el determinante de esta matriz, usando la funci on det, como este determinante resultar a ser 0, la matriz no es invertible, por lo que al intentar calcular la inversa de la matriz con la funci on inv, Matlab nos noticar a de que no es posible puesto que la matriz es singular. Ahora dena la matriz [2 0; 1 8], y calcule su inversa usando inv, multiplique ambas matrices para vericar que es la inversa. c) Use los comandos zeros, ones y rand para generar matrices de 2 3, y asignelas a las variables cero, uno y random, luego guarde la suma de las 3 variables en la variable b. d) Utilice la operaci on seno, para la matriz b, guarde este resultado en una variable c, c omo fue ejecutada la operaci on?, t ermino a t ermino o considerando la matriz completa?. e) Trasponga la matriz c y gu ardela en la variable d. f) Genere dos matrices aleatorias de 4 4, gu ardelas en las variables x y y, luego realize las operaciones x.^y y x.*y, compare esta u ltima operaci on con x*y. g) Guarde en la variable z1, la operaci on x + i y y en la variable z1, la operaci on j x + y .

Indexaci on de arreglos

En algunos casos es necesario llamar un elemento en particular o un segmento de un arreglo. a) Guarde en la variable p, el elemento de la la 2 y columna 2 de la matriz b, para esto pruebe si existe alguna diferencia con usar p = b(2,2) o p = b(5). b) Extraiga la segunda la de z1 y gu ardela en la variable fila, y la tercera columna de z2, y gu ardela en la variable col, para indexar varios elementos de una la o columna, puede utilizar notaci on de la forma a(m:n,l) o a(l,m:n) respectivamente. c) Ahora extraiga la submatriz de 3 3 de z1 y gu ardela en z3. d) Genere un vector que var e de xi = 0 a xf = 100, dando pasos de tama no dx = 4, para esto puede usar la notaci on xinicial:dx:xfinal.

IEE 2103 Se nales y Sistemas I-2014 N. Morales

Workspace

En el workspace se pueden revisar individualmente las variables, por medio de una interfaz similar a una planilla excel, tambi en existen utilidades para la importaci on y exportaci on de variables, bajo distintos formatos. a) En el workspace haga doble clic sobre la variable b, y edite manualmente el primer t ermino para dejarlo en 0. b) Guarde las variables con las que ha trabajado hasta ahora usando save myfile.mat. c) Utilice clear all para limpiar las variables del workspace, luego cargue de vuelta estas variables usando load myfile.mat. d) Utilice el men u del workspace para importaci on de archivo, e importe una imagen de su computador. e) Utilice la funci on imshow para mostrar la imagen importada.

Strings y caracteres

Un string es una secuencia de cualquier tama no de caracteres, encerrada en citaciones individuales. Los string se pueden asignar a variables. a) Guarde un string con la frase Hello, world en la variable texto1, para ello, se debe usar el formato inserte el texto aqui. b) Para incluir comillas en los string, se debe usar dos veces la comilla (), con ello guarde en la variable texto2 la frase Youre right. c) Concatene las variables de la parte a y b, y guarde el resultado en la variable textolargo introduciendo un gui on entre medio, para concatenar strings se puede usar la notaci on [texto1, texto2, texto3, ... ,texton]. d) Los n umeros pueden ser convertidos en string con el comando num2str, use esto para escribir la frase Hello, world <3.

Funciones

En Matlab hay una amplia variedad de funciones implementadas, estas pueden tener multiples argumentos y/o multiples resultados. a) Revisaremos las opciones de multiples argumentos y multiples resultados para la funci on min, entonces dena dos matrices, A = [2 8 4; 7 3 9] y B = [1 5 8; 7 2 15]. Ahora eval ue min(A), min(min(A)) y min(A,B). Identique la diferencia en el resultado obtenido en cada caso. Ahora dena la primera la de A como A1 = A(:,1), y con ello use la opci on de multiples resultados [m,i] = min(A1). A qu e corresponde el resultado i?.

IEE 2103 Se nales y Sistemas I-2014 N. Morales

b) Los strings deben ser ingresados con comillas, use el comando disp para mostrar el mensaje Hello world. c) Hay funciones que no requieren necesariamente un argumento de entrada, investigue sobre las funciones clear, clc, who y whos.

Gr acos

Matlab permite distintas opciones para gr acos tanto de 2 como 3 dimensiones, algunas de las que revisaremos a continuaci on. a) Dena un vector x que recorra el intervalo [0, 2 ], con pasos de tama no /100. Luego genere un vector y, que contenga el seno de x. Ahora use el comando plot para gracar y = sin(x), la notaci on m as b asica de este comando es plot(x,y). b) Ahora usaremos las opciones para etiquetar los ejes del gr aco y ponerle t tulo, todas estas funciones requieren de un string como argumento de entrada, para el eje X se usa xlabel, para el eje Y se usa ylabel y para el t tulo se usa title, entonces etiquete el eje X como x, el eje Y como y (x) y coloque el t tulo Gr aco de la funci on seno. c) Ahora probaremos las opciones de tipo de l nea y color de esta para gracar, para ello volveremos a usar la funci on plot, pero agregando el argumento de entrada r--, esto deber a hacer que la l nea este compuesta de guiones rojos, para revisar otras opciones de este tipo, deben revisar la documentaci on de la funci on plot. d) Tambi en se puede gr acar varias veces sobre la misma gura, para esto es necesario usar el comando hold on. Genere un vector y2 con el coseno del vector x, ahora gr aque este coseno sobre el seno anterior, agregando el argumento g, para mostrar el coseno en color verde, para que pr oximos gr acos no aparezcan sobrepuestos en la gura actual, se debe utilizar la funci on hold off. Luego use el comando legend para agregar una simbolog a de la gura, los argumentos de esta funci on son cada uno de los nombres de las l neas gr acadas, que se ingresan como string, por ejemplo legend(linea1,linea2, ... ,linean). e) Para generar gr acos en 3 dimensiones, en lugar de usar los vectores del intervalo de la forma xinicial:dx:xfinal, sino que se genera una malla de puntos, usando la funci on [X,Y] = meshgrid(xinicial:dx:xfinal, yinicial:dy:yfinal), entonces generando una malla de puntos que recorra el rect angulo [2, 2] [2, 2], con dx = dy = 0.1, guarde en 2 2 una variable Z la supercie z = xe x y . Por u ltimo, genere el gr aco tridimensional de la supercie con surf(X,Y,Z), compare con la funci on mesh(X,Y,Z). f) La u ltima de las opciones b asicas de los gr acos en Matlab, son los subplot, los que permiten poner gr acos en un panel de m n, para estos gr acos, para agregar el k- esimo gr aco del panel, se usa subplot(m,n,k). Genere un panel de 2 2, y gr aque en el intervalo [0, 2 ] cada una de las siguientes funciones sin(x), cos(x), ex y ex , en los 4 espacios del panel de subplots.

IEE 2103 Se nales y Sistemas I-2014 N. Morales

Programaci on y scripts

La u ltima parte de este tutorial es sobre el uso de scripts que permiten denir una lista de operaciones, o denir nuevas funciones, estos se guardan en archivos con extensi on .m. Dentro de un script se pueden utilizar elementos b asicos de control de ujo en programaci on, como if/else o for. a) Cree un script nuevo usando la funci on edit, que permite crear uno nuevo, o editar uno existente en la carpeta de trabajo actual, para ello use edit graficorandom. Ahora copie el siguiente c odigo en el script : n = 50; r = rand(n,1); plot(r) m = mean(r); hold on plot([0,n],[m,m]) hold off title(Media de datos random uniformemente distribuidos) Ahora para ejecutar este script, basta con llamarlo por su nombre desde la ventana de comandos, sin argumentos. Describa que es lo que se ejecuta por este script. b) Los comentarios en el c odigo se agregan anteponiendo %, con ello se elimina la funcionalidad del c odigo en esa l nea, hacia la derecha de %. Use esto para comentar el c odigo anterior indicando que operaci on realiza cada l nea. c) Ahora utilizaremos un script que dene una funci on nueva, esta funci on tiene dos argumentos de entrada, nmuestras y npuntos, donde el primero ser a la cantidad de veces a repetir un ciclo for y el segundo el n umero de puntos de los vectores a utilizar, esto para una simulaci on de la media de vectores random uniformemente distribuidos, para ello copie el siguiente c odigo: function [MediaMuestras, MediaFinal] = CalcularMedia(nmuestras,npuntos) for k = 1:nmuestras iteracionString = [Iteracion nro ,int2str(k)]; disp(iteracionString) datoActual = rand(npuntos,1); MediaMuestras(k) = mean(datoActual) end MediaFinal = mean(MediaMuestras) if MediaFinal < .49 disp(Media es menor que lo esperado) elseif MediaFinal > .51 disp(Media es mayor que lo esperado) else disp(Media esta en el rango esperado)

IEE 2103 Se nales y Sistemas I-2014 N. Morales end end

Llame a la funci on usando distintos par ametros (no muy grandes, para ejecutarlo r apido), y describa que ejecuta el c odigo, para luego comentar l nea a l nea que es lo ejecutado por la funci on.

También podría gustarte