Práctica 1: Introducción a MATLAB. 1 Introducción. MATLAB es un paquete de programas para computación numérica y visualización. Para arrancar el programa basta hacer doble click sobre el icono MATLAB que aparece en el escritorio de nuestro PC. Veremos que se abre una ventana, ésta es la ventana de comandos que permite dar instrucciones a MATLAB. Además de esta ventana, MATLAB emplea otros dos tipos de ventanas que consideraremos más adelante: 1. Ventanas gráficas para visualización. 2. Ventanas de edición: Permiten crear y modificar programas. Cuando aparece el signo >>, puede darse un comando al programa; por ejemplo, los comandos quit o exit sirven para terminar una sesión. Comprobémoslo y reiniciemos el programa haciendo doble click sobre el icono MATLAB. Para finalizar la sesión podemos también emplear la opción Exit del menú File de la ventana de comandos. Una variable en MATLAB puede ser un escalar, un vector o una matriz, a la que se le asigna un nombre que puede contener letras y números (un máximo de 19 caracteres, distingue letras mayúsculas y minúsculas). Para asigmar el valor 15.3 a la variable A escribimos: A=15.3 MATLAB confirmará este valor. Otra variable B toma el valor 0.7: B=0.7 Si no queremos que el programa confirme la asignación añadimos un punto y coma al final de la instrucción: B=0.7; Podemos efectuar operaciones aritméticas empleando los símbolos +, -, * y /. Ejemplos: 1
C=A+B D=C*(A+B) H=C/(A+B) donde los paréntesis establecen el orden en que se efectúan las distintas operaciones. Para elevar una cantidad a a una potencia b se emplea aˆ b. Por ejemplo: CUAD=(A+B)ˆ 2 EXP= 1/3 RCUB= (A+B)ˆ EXP Para definir un vector basta especificar sus componentes entre corchetes separadas por comas, por ejemplo: vec=[3,2,1,6]; El valor de una componente, se especifica en la forma vec(i); por ejemplo: vec(3) nos proporciona la tercera componente del vector. Un vector puede generarse empleando la instrucción: v=a:p:b Donde a,p, son tres números. Las componentes de este vector son el conjunto de números: a, a+p, a+2p,..., a+np, con a+np b. Por ejemplo: v=3:2:10 Para efectuar operaciones sobre todas las componentes de un vector se emplean los símbolos que indican las operaciones aritméticas precedidos de un punto;.*,./,.ˆ 2. Lo comprobamos con los siguientes ejemplos: w=[1, 2, 3, 4] v.*w v.ˆ 2 2
En este momento hemos definido unas cuantas variables. El comando who nos proporciona una lista de las variables definidas. Otro comando útil es clear, que elimina de la memoria todas las variables definidas. Comprobemos escribiendo: who clear who MATLAB evalúa un cierto número de funciones matemáticas (ver apéndice). Practicamos con algunos ejemplos: 1. Evaluamos y = x 2 + x 1 en x = 2.0: x=2.0; y=xˆ 2+sqrt(x-1) donde hemos empleado la función sqrt. 2. Calculamos el valor de y = senα para α = 30 0 : a=30; alpha=30*pi/180 que nos proporciona el valor de α en radianes y=sin(alpha) donde hemos utilizado la función sin y el valor de π, que viene dado por la variable pi de MATLAB. 3. y = log[2(x 2 + x 4 )] para x = 3.0, siendo log el logaritmo neperiano: x=3.0; y=log(2.0*(xˆ 2 + xˆ 4)) donde hemos empleado la función log. A la hora de escribir comandos pueden ser útiles: 3
1. Los comandos cut, copy y paste del menu Edit (o los correspondientes iconos en la barra de herramientas). 2. los cursores y, que permiten moverse sobre los comandos anteriores y posteriores. El cálculo numérico se efectúa con un número finito de cifras significativas; por ejemplo en MATLAB los números reales se archivan como cantidades en doble precisión: se les asignan 8bytes (64 bits, de los que 11 son para el exponente y 53 para la mantisa), que se traducen en una precisión de unas 16 cifras decimales. MATLAB nos presenta por defecto 5 cifras. Escribamos, por ejemplo: y=1000*pi Si queremos imprimir un número mayor de cifras significativas, escribimos: format long y a continuación: y=1000*pi 2 Definición de funciones. Además de las funciones definidas en MATLAB, podemos definir otras funciones para aplicaciones concretas. Supongamos, por ejemplo, que queremos calcular el volumen molar de un gas ideal para distintos valores de presión y temperatura: V = RT/P. Para ello hemos construido una función ideal (P,T), que efectúa esta operación con P en atm. y T en K. Escribamos: presion=1; temp=273; V=ideal(presion,temp) que nos proporciona el resultado en l mol 1. Para construir o modificar una función empleamos la ventana de edición antes mencionada: En el menú File de la ventana de comandos seleccionamos Open. Aparacerá una lista de ficheros, que son programas para MATLAB (llamados M-files). Haciendo doble click sobre el fichero ideal, se abre la ventana de edición y en ella podemos ver y modificar el archivo que contiene la función ideal. Fijémosnos en dos detalles: 4
1. El programa comienza por la palabra function. 2. El símbolo % se utiliza para añadir comentarios. Lo que aparece a continuación de este símbolo en la línea nos ayuda a entender el programa, pero no es ejecutado por MATLAB. Cerremos la ventana de edición seleccionando Exit Editor/Debugger en el menú File de la ventana de edición. Como ejercicio, escribir una función que transforme temperaturas en grados centígrados (T C ) a grados Farenheit (T F ), empleando la relación: T F = 9/5T C + 32. Seguir los siguientes pasos: 1. Abrir la ventana de edicion seleccionando la opción New-M-file del menu File. 2. Una vez escrita la nueva función seleccionar en el menu File de la ventana de edición la opción Save as y a continuación darle un nombre. 3. Comprobar evaluando la función en algunos puntos desde la ventana de comandos. 3 Representaciones gráficas Consideramos tres instrucciones MATLAB para representar gráficamente funciones de una variable: El comando más sencillo del que disponemos para representaciones gráficas tiene la forma: plot(x,y) donde X e Y son dos vectores de la misma dimensión. ejemplo: Veamos un presion=1; T= 200:20:500 V=ideal(presion,T) plot (T,V) Cuando una función se define por medio de una function, se emplea el comando fplot, cuya sintaxis es: fplot ( f, [a, b]) 5
donde [a, b] es el intervalo donde se desa representar la función; por ejemplo: fplot ( ideal(p,273),[1,10]) Como ejercicio, emplear fplot para hacer una gráfica de temperatura en grados Farenheit frente a temperatura en grados Celsius 6
4 Resultados NOMBRE Y APELLIDOS: 1. Emplear MATLAB para evaluar la expresión y = exp(x 2 ) cos(2x) en x=3.12. Expresar el resultado con 7 cifras significativas. 2. Imprimir la función empleada para transformar temperaturas en grados centígrados a grados Farenheit. Representar gráficamnte la función en el intervalo 0-200 o C. 7
3. Explica cómo emplearías la instrucción plot para representar la función y = 3x x 2 + 4 en el intervalo [0,2]. 8
4. Escribir las instrucciones MATLAB necesarias para generar un vector x de 100 componentes: 0.01, 0.02, 0.03,..., y calcular la función x 2 i +x i +1, siendo x i las componentes del vector. Explicar cómo se representaría gráficamente la función f(x) = x 2 + x + 1 en el intervalo [0,1]. 9