Sei sulla pagina 1di 7

Prctica # 1

Nombre de la prctica: Nociones de Matlab Objetivo: iniciar al alumno en el manejo y uso de matlab como una herramienta de clculo numrico. Que el alumno se inicie en el manejo y uso de las cajas de herramientas de Simulink y Control Systems de matlab. Introduccin En las diferentes reas de la ingeniera, la simulacin de sistemas y procesos se ha convertido en una herramienta indispensable, tanto para el anlisis como para el diseo de sistemas. En la mayora de los casos el proceso de simulacin reduce el tiempo de diseo y permite anticipar el comportamiento de sistemas y procesos antes de su construccin, reduciendo, por ende, el costo de desarrollo y evitando posibles desperdicios. Dichos sistemas de simulacin se construyen, en muchos casos, con programas de cmputo, donde stos realizan gran cantidad de clculos numricos. El rea de control automtico no es la excepcin y en sta se hace un uso intensivo de simuladores y de programas de clculo numrico. De la gran variedad de programas, que pueden hacer simulaciones y clculo numrico intensivo, en el mercado se ha elegido a matlab con varias de sus cajas de herramientas, para las actividades de anlisis y diseo de sistemas de control, debido al uso tan extendido del mismo y al desempeo mostrado en muchas reas de ingeniera y ciencias. Por lo que, adems de los anlisis tericos en la enseanza del control automtico, ser necesario mostrar al alumno el manejo adecuado de matlab con el fin de complementar su formacin en lo que respecta a las soluciones numricas y de simulacin. Conocimientos previos a la realizacin de la prctica. Para la realizacin de la presente se supone que los alumnos tienen conocimientos aceptables en: a) Manejo de la computadora personal (PC) y de los sistemas operativos Windows. b) lgebra, lgebra lineal, clculo diferencial, ecuaciones diferenciales y anlisis numrico. c) Rudimentos de programacin. Material necesario: Equipo necesario: 1. Una PC con matlab V.5.3 instalado con las cajas de herramientas Simulink y Control Systems. Desarrollo de la prctica Aspectos notables de Matlab matlab es un sistema interactivo que realiza clculos numricos, Con matlab se pueden hacer clculos muy complejos con slo algunos comandos. matlab es un conjunto de programas que interactan de manera eficaz para producir soluciones confiables. matlab est compuesto de un gran nmero de algoritmos verificados y confiables. matlab, realizar por nosotros una gran cantidad de clculos, permitindonos utilizar de manera ms eficaz nuestro tiempo. Iniciando a). En las versiones de matlab para Windows, para iniciar el programa haga un doble clic sobre el icono del programa. Aparecer, entonces, la pantalla del espacio de trabajo de matlab, donde podr introducir comandos. La lnea de comando aparecer como >>

b). Peticin de ayuda. En la lnea de comando introduzca >>help elfun oprima enter Con el comando anterior se pide informacin sobre las funciones elementales de matlab. Aparecern las funciones matemticas elementales con su sintaxis correcta y una muy breve descripcin. c). Pruebe, ahora, >> help sin oprima enter. Observe que se muestra, una descripcin de la funcin y los parmetros de entrada necesarios para ejecutar dicha funcin. Resulta claro que con el comando help, puede obtener ayuda desde el espacio de trabajo. d). Por su cuenta (en casa) pruebe el comando >> demo, y corra algunas de las demostraciones que vienen en el programa. Matlab como calculadora Los operadores matemticos bsicos son: + (suma), - (resta), * (multiplicacin), / (divisin), y ^ (potenciacin) a). Introduzca la siguiente operacin. >> 2 + 3/4*5 con lo que obtendr ans = 5.7500 b). matlab sigue las siguientes prioridades (comprubelas introduciendo las operaciones indicadas despus del promt): 1. Cantidades entre parntesis, por ejemplo: 2 + (3+4) = 2 + 7 = 9. 2. Potencias, esto es: 2 + 3^2 = 2 + 9 = 11 3. * /, De izquierda a derecha: 8/2*3 = 4*3 = 12 4. + -, De izquierda a derecha 5 3 + 7 = 2 +7 = 9 Variables En matlab se pueden crear y modificar variables con la siguiente estructura: escalar, vector, matriz y cadenas. a) Defina las siguientes variables escalares R, L y C, asignndoles los siguientes valores >> R=220; C=0.33e-6; L=20e-3; con stos comandos se asigna el valores numricos a las variables R, C y L. Ejecute la siguiente lnea de comando >> whos; describa el resultado mostrado en la pantalla b) Defina una variable en forma de cadena >> y=cadena; sta lnea de comando asigna a la variable y una cadena de caracteres. ste tipo de variables se utilizan , principalmente, para la transferencia de datos (informacin) entre funciones y/o rutinas de programacin. Ejecute la siguiente lnea de comando >> whos; describa el resultado mostrado en la pantalla Las variables vectoriales y matriciales se presentan ms adelante en la presente prctica. En los clculos de matlab se pudo observar que el resultado se presenta en la variable ans, dicha variable se puede utilizar para realizar otros clculos, por ejemplo introduzca la siguiente operacin (despus del promt) ans*5 y obtendr ans = 45 (respuesta que se obtiene siguiendo la secuencia antes propuesta). Los nombres vlidos para las variables deben iniciar con una letra y pueden ser cualquier combinacin de letras y caracteres alfanumricos. Se debe decir, en ste punto, que existen algunos nombres slo utilizados por matlab, como el nmero pi, eps, y la variable imaginaria (i y j). Funciones elementales Matlab reconoce las funciones trigonomtricas sin(x), cos(x) y tan(x) (con las funciones inversas asin(x), acos(x) y atan(x)), donde x = argumento debe ser radianes para las funciones directas.

Introduzca la siguiente lnea, despus del promt: >> sin(0.5236), deber obtener como resultado ans = 0.5 Introduzca la siguiente lnea, despus del promt: >>cos(1.0472), deber obtener como resultado ans = 0.5 Justifique las respuestas anteriores. Las funciones sqrt, exp, log, log10 son algunas otras de las funciones que puede ejecutar matlab. Introduzca la siguiente lnea, despus del promt: >> x = 9, sqrt(x), exp(x), log(sqrt(x)), log10(x^2+6) , deber obtener los siguientes resultados parciales (presentados en forma vertical): 3, 8.1031e+03, 1.0986, 1.9395. Verifique tales resultados y describa a que funcin corresponde cada comando (sqrt, exp) Vectores Este tipo de arreglo es de gran utilidad tanto en el lgebra lineal, como en el anlisis matemtico. Por lo que, es necesario que sepamos formar dicho arreglos. En matlab se distingue dos tipos de vectores; el vector rengln y vector columna. Vectores rengln Introduzca la siguiente lnea. >> x=9, v = [cos(x), sin(x), tan(x), exp(x),log(x),log10(x)]. Deber obtener el siguiente vector v = 1.0e+003 *[ -0.0009 0.0004 -0.0005 8.1031 0.0022 0.0010]. Los vectores se pueden multiplicar por una constante (escalar) y sumar o restar con otros vectores de las mismas dimensiones. Vectores columna Estos se construyen de una manera similar a los vectores rengln, la diferencia estriba, en que el separador de elementos del vector es un punto y coma (;) Introduzca la siguiente lnea. >> x=9, v = [cos(x); sin(x); tan(x); exp(x);log(x);log10(x)]. Deber obtener el vector en formato de columna. Una operacin que se puede hacer con los vectores es la transposicin. Introduzca la siguiente lnea >> v . Deber obtener el vector rengln inicial. Manteniendo un record del trabajo realizado en el espacio de trabajo Comando diary El comando diary permite guardar la sesin de trabajo registrada en el espacio de trabajo para su posterior edicin con algn editor de textos. Introduzca la siguiente lnea.>> diary sesion >> v; cos(x), sqrt(141), log(x) >> diary Con el explorador de Windows revise el subdirectorio de trabajo de matlab, deber encontrar un archivo de texto nombrado sesion. Abra dicho archivo con el block de notas (o con el editor de matlab), deber observar la secuencia de comandos y los resultados obtenidos con matlab. Regrese al espacio de trabajo e introduzca >> diary >> x=9 x*57 >> diary Con el explorador de Windows abra nuevamente en archivo sesion. Describa su contenido?, qu utilidad puede tener el comando diary? Comandos save y load El comando save salva todas las variables del espacio de trabajo, mientras que el comando load recupera las variables guardadas por save. El archivo creado por save no se puede editar. Introduzca la siguiente lnea. >> save variables - Con el explorador de Windows revise el archivo variables en el subdirectorio de trabajo de matlab. Introduzca la siguiente lnea. >> clear v -Para borrar una (v) de las variables del espacio de trabajo.

>> whos Para verificar que la variable borrada no aparezca en el espacio de trabajo. Deber aparecer una lista de variables sin la que se acaba de borrar. >>load variables Para cargar las variables guardadas por save en el archivo variables. >> whos Observar la lista y verificar que la variable borrada reapareci. Trazado de funciones elementales Suponga que deseamos trazar una grfica de una funcin particular, por ejemplo y cos2.5 x . Para hacer el trazado suponga que muestreamos la funcin en un nmero suficiente de puntos y despus los unimos por lneas rectas. Tomaremos N+1 puntos espaciados una distancia constante h. Introduzca la siguiente lnea >> N=10, h = 1/N, x=0:h:1 Para definir el nmero de muestras, el espaciamiento entre muestras y la variable de argumento de la funcin a graficar. Ejecute las siguientes lneas de comando. >> y = cos(2.5*pi*x); >> plot(x,y) Mantenga la grfica (no la borre) e introduzca la siguiente lnea >> figure Para abrir una nueva ventana para la siguiente figura. Ejecute las siguientes lneas de comando. >> N=30, h = 1/N, x=0:h:1; >> y = cos(2.5*pi*x); >> plot(x,y) Observe las figuras obtenidas (se pueden visualizar las dos al mismo tiempo). Justifique las diferencias entre stas. Introduzca el comando >> grid Revise las grficas y describa el cambio realizado por el comando grid. A qu grfica afect el comando grid?, Cmo se puede afectar a las dos grficas con el comando grid? Etiquetando las grficas Los siguientes comandos permiten documentar un resultado grfico, poniendo ttulo y etiquetas para ambos ejes coordenados. Para etiquetar y poner ttulo a una grfica introduzca los siguientes comandos >> title(Grafica de prueba) >> xlabel (Etiqueta para el eje x) >> ylabel(Etiqueta para el eje y) A qu grfica afectaron los comandos?, Cmo se puede afectar a las dos grficas con los comandos? Estilos y colores de lneas para las grficas Con el fin de hacer a las grficas ms atractivas y distinguibles se pueden introducir comandos en matlab que permiten cambiar el color y el tipo de lnea de la grfica. Introduzca la siguiente lnea. >> plot (x,y,m-) Pruebe algunos cambios en color y tipo de lnea para la grfica que venimos trabajando, de acuerdo con la Tabla 1.
Tabla 1 Tipos y colores de lneas

Las grficas generadas con matlab se pueden almacenar e incluir en otros archivos en diferentes formatos. En la ventana de la grfica seleccione el men despleglable File y elija la opcin Export, elija algn formato, por ejemplo .bmp, y exporte la grfica. Arreglos de dos dimensiones (matrices) Un arreglo de elementos de mxn (m renglones y n columnas) se llama Matriz, matlab fue inicialmente diseado para el tratamiento de ste tipo de arreglos, de hecho los vectores, vistos anteriormente, son un caso especial de matriz. Introduccin de matrices Introduzca las siguientes lneas >> A = [5 4 3 7 8 9] >> B = [2, 3, 4; -3, -7,-1] >> C = [8 3;5 8;4 6] >> D = [1:5; 6:10; 11:2:20] Con base en los resultados obtenidos comente la forma en que se introdujeron las matrices en el espacio de trabajo de matlab. Dimensin de una matriz Introduzca las siguientes lneas >> size(A), size(B), size (y) Con base en los resultados mostrados indique la dimensin de los arreglos A, B e y. Operacin de transposicin La operacin de transposicin de vectores y matrices se utiliza de manera intensiva en matemticas, por lo tanto, es necesario mostrar como se pide la ejecucin de tal comando. Introduzca las siguientes lneas >> D, D Con base en el resultado obtenido explique que realiz el comando de transposicin. Matrices especiales Matlab proporciona una serie de matrices de gran utilidad en el lgebra lineal, dentro de las que se pueden mencionar: la matriz de unos (ones(m,n)), la matriz de ceros (zeros(m,m)), la matriz identidad (eye(n)) y la matriz diagonal. Introduzca las siguientes lneas: >> P = ones(2,3) >> Z = zeros(3,2) >> T = eye(4) >> d = [-3 4 2], Di = diag(d) Describa los resultados obtenidos en trminos de los comandos, sus entradas y sus conocimientos de lgebra lineal. Repita los comandos anteriores cambiando las dimensiones de las matrices. Comente los resultados. Sistemas de ecuaciones lineales En gran cantidad de problemas de ingeniera surge la necesidad de resolver sistemas de ecuaciones lineales, matlab permite resolver tales sistemas. Por ejemplo, introduzca las siguientes matrices que forman un sistema de la forma Ax=b >> A = [2,-1,0;1,-2,1;0,-1,2]; b = [1;0;1] Para resolver el sistema pruebe lo siguiente x=inv(A)*b, donde inv(A) calcula la inversa de la matriz A >> x=inv(A)*b

Ahora pruebe lo siguiente >> x = A \ b De acuerdo con los resultados obtenidos comente las soluciones obtenidas. Ambiente de programacin Una poderosa herramienta de propsito general que tiene matlab es la herramienta de programacin, dicha herramienta se puede utilizar de una forma tan simple como una calculadora aritmtica como una ambiente de solucin de ecuaciones diferenciales no lineales. A continuacin se muestran, de manera general, las secuencias de control necesarias para la programacin. As como, una forma de utilizar el ambiente de depuracin de programas de matlab. Matlab cuenta con un editor de texto que se utiliza para la edicin y depuracin de programas y/o funciones de matlab. Para iniciar el editor de matlab en la pantalla principal elija el men desplegable File y elija la opcin New. Deber aparecer la pantalla del editor de archivos *.m. Copie lnea por lnea el siguiente texto al editor de archivos .m de matlab % Ejemplo de archivo script que genera las grficas de ptalos de una flor % theta = -pi:0.01:pi; rho(1,:) = 2*sin(5*theta).^2; rho(2,:) = cos(10*theta).^3; rho(3,:) = sin(theta).^2; rho(4,:) = 5*cos(3.5*theta).^3; for k = 1:4 polar(theta,rho(k,:)) end % Asignacin de una variable (theta) % Clculo de las componentes

% Grfica de las salidas % Fin de secuencia y de programa

Limpie el espacio de trabajo con la instruccin >> clear all Verifique que el espacio de trabajo est limpio, con la siguiente lnea de comando. >> whos No deber aparecer alguna variable o constante en el espacio de trabajo En el men desplegable File (del editor de matlab), elija Save as asigne nombre al archivo, por ejemplo: tutoprogram.m y slvelo en alguna carpeta conocida. Del men desplegable Tools elija la opcin Run deber aparecer una figura que corresponde con el cuarto clculo expresado en el programa. Ubique el cursor en cada uno de los renglones del programa, con excepcin de la lnea del comando for, Para cada una de las lneas defina un punto de ruptura de programa (Breakpoint). Con el men desplegable Breakpoints seleccione Set/clear breakpoint. En la extrema izquierda de las lneas aparecer un punto rojo. Con el men desplegable Debug elija la opcin Run. La ejecucin del programa deber detenerse en la primera lnea con punto rojo, esto es, en la definicin de theta. Con el men desplegable Debug elija la opcin Step la flecha que indica la lnea a ejecutar se detendr en la siguiente lnea con punto rojo. Regrese al espacio de trabajo y revise su contenido con el comando >> whos deber aparecer la variable theta. Contine paso a paso la ejecucin del programa, revisando para cada uno de ellos el contenido del espacio de trabajo. Terminando con las grficas generadas. Describa brevemente lo que entendi con el programa anterior.

Potrebbero piacerti anche