Está en la página 1de 11

Cap tulo 1 Manejo bsico del MATLAB a

1.1. Las ventanas en MATLAB

Matlab es un programa para la realizacin de clculos matemticos y generacin de o a a o grcos. Cuenta, adems, con un lenguaje de programacin propio. a a o Segn abrimos Matlab, como en todos los programas que trabajan bajo Windows, nos u aparecen en pantalla varias barras y ventanas. En la parte superior encontramos la barra de men al que se puede acceder con el ratn. Por ejemplo si pinchamos en Help se accede a una u o informacin que nos ayuda en el manejo del programa. Debajo de este men est la barra de o u a herramientas, en la que se observan algunos iconos que indican diversas tareas que se realizan con frecuencia y, a su derecha, un recuadro con informacin sobre el directorio de trabajo actual o (Current Directory), es decir, el lugar donde Matlab buscar nuestros programas. a La distribucin de ventanas en la pantalla depende de la conguracin elegida por el usuario. o o Si en el men pinchamos en Desktop, Desktop Layout Default aparecen en pantalla cuatro u subventanas. La ventana de la derecha segn miramos ( Command Window ) es la que u utilizamos para escribir las instrucciones a continuacin del siguiente prompt o >> Por ejemplo, podemos teclear >> 3+5

y, luego, para obtener los resultados es necesario teclear la tecla de cambio de l nea , que nos devuelve ans = 8 En la de arriba a la izquierda (Workspace) nos aparecen las variables que estamos utilizando y en la de abajo a la izquierda (Command History), un historial con los comandos que hemos escrito. Debajo de la ventana Workspace est oculta una ventana con el t a tulo Current Directory donde aparecen los cheros que hay en la carpeta de trabajo.

Al trabajar en la ventana de comandos conviene tener en cuenta: La utilidad de las echas situadas en el teclado entre el teclado numrico y alfanumrico: e e Las ordenes que vamos introduciendo en la ventana de comandos se van almacenando y pueden recuperarse con la tecla . Una vez que tenemos la l nea deseada, podemos modicarla, desplazando el cursor sobre ella con las teclas y y ejecutarla de nuevo. Tambin podr e amos recuperar una orden ya introducida seleccionndola con el ratn en a o la subventana correspondiente a Command History: pinchando dos veces sobre ella, con lo que se ejecuta la orden o bien arrastrndola con el ratn hasta la ventana de comandos. a o Por contra, no es posible situarse en una l nea anterior, hacer una correccin y volver a o ejecutarla. El % sirve para insertar comentarios. Todo lo que escribamos detrs no ser tenido en a a cuenta por Matlab. >> 2+3 %hemos hecho una suma ans = 5 Para nalizar o separar rdenes se utiliza el salto de l o nea, el s mbolo , y el s mbolo ;. >> 5+4; 2+9; 9^2,3+2 ans = 81 ans = 5 Observa que si inmediatamente detrs de una orden se pone un punto y coma, la orden a se ejecuta, pero el resultado no aparece en pantalla. La orden clc sirve para situar el prompt >> en la primera l nea. Limpia la pantalla pero esta accin no borra de la memoria nada que o haya sido creado anteriormente.

1.2.

Aritmtica Elemental e

Para realizar los clculos numricos elementales con Matlab es suciente conocer la sintaxis a e de las distintas operaciones: Suma Resta + Multiplicacin o * Divisin o / Potenciacin o ^

Las operaciones se evalan de izquierda a derecha, la operacin potencia tiene el orden de u o prioridad ms alto, seguida de la multiplicacin y divisin, que se encuentran en el mismo a o o orden de prioridad y seguidas nalmente por la suma y la resta, ambas con la misma prioridad. Para alterar la ordenacin se pueden utilizar parntesis en la forma habitual. o e 2

Ejemplo 1.2.1 Halle el valor de 52 17 2 + 7/5 Solucin o >> 5^2-17* 2 + 7/5 -12^(1/2)

12

Ejemplo 1.2.2 Obsrvese la diferencia entre las siguientes operaciones: e 32 5 2 Solucin o >> >> 3^2-5*(2-3/4*7) 3^2-5*2-3/(4*7) 3 7 ; 4 32 5 2 3 47

a Ejercicio 1.1 Hllese el valor de 72 17 2 + 7/5 15, recuperando la orden del primer ejemplo con la tecla y modicando los nmeros correspondientes. u Ejercicio 1.2 Pnchese dos veces con el ratn sobre 3^2-5*(2-3/4*7), en la subventana o correspondiente a Command History, para ejecutarla de nuevo. Ejercicio 1.3 Arrstrese con el ratn desde la subventana correspondiente a Command History a o hasta la ventana de Command Window la orden 3^2-5*2-3/(4*7).

1.3.
1.3.1.

Almacenando datos
Variables

Una variable es un nombre al cual se le asigna un valor. El s mbolo = es el utilizado para la asignacin de valores a las variables. Por ejemplo: o >> x=3 x = 3

El nombre de la variable siempre debe ir a la izquierda del s mbolo = y el valor a la derecha. Es muy importante tener en cuenta que el valor que se asigna a las variables es permanente. Se guardar hasta que la variable sea borrada o se le asigne un nuevo valor. a >> x^2 ans = 9

Asignamos un nuevo valor a x : 3

>> x=7 x = 7 >> x^2 ans = 49

Hasta aqu los clculos que hab a amos hecho se realizaron como en una calculadora. El hecho de poder introducir variables nos ofrece nuevas posibilidades, entre otras: Almacenar datos que podamos usar posteriormente: Ejemplo 1.3.1 Hllese a Solucin o Podr amos escribir la instruccin o >> a= 32*59/23
59 23
3

32

59 23

32

59 23

2 5 32

59 23

almacenar en a el nmero correspondiente al resultado de 32 u >> a^(1/3)+ a^(1/4)-2*a^(1/5)

y despus escribir e

Cambiar en una frmula larga el valor de una de las variables o Ejemplo 1.3.2 Si queremos calcular el espacio recorrido por un mvil en movimiento o rectilneo y uniforme de velocidad v0 = 5 m/s, para distintos tiempos, es necesario actualizar la variable espacio para cada valor del tiempo: >> >> >> >> v0=5, t=1, t=3 s s=v0*t s=v0*t %Cambiamos el valor de t %s no se ha actualizado %actualizacin de s o

Obsrvese por un lado que en la primera l e nea se han denido tres variables, sin ms que a separarlas por comas y por otro que hasta que no se ha actualizado la denicin de la o variable s su valor no ha cambiado. Usarlas como un contenedor de datos que puede ir cambiando. Ejemplo 1.3.3 >> a=1; >> a=a+4 a =5

%suma 4 al contenido de a y almacena el resultado en a

Observa: Si inmediatamente detrs de una variable se pone un punto y coma, la orden se ejecuta, a la variable queda en la memoria, pero el resultado no aparece en pantalla.

>>

a=5; t=2; s=0.5*a*t^2

La orden clc no borra las variables asignadas.

1.3.2.

Reglas para nombrar variables

Las reglas que se utilizan para nombrar las variables son las siguientes: Matlab distingue entre letras maysculas y minsculas. Las variables area, Area, AREA, u u arEa ser variables distintas. an El nombre de una variable puede contener un mximo de 31 caracteres ignorndose los a a posteriores. El nombre de una variable debe empezar necesariamente por una letra, aunque puede contener letras nmeros y el guin de subrayado, nunca puede contener operadores u o (+,*,...), espacios en blanco ni signos de puntuacin. o No deben nombrarse variables con nombres con signicado espec co de funciones o variables predenidas en Matlab, por ejemplo cos=3 construir una variable cos cuyo a valor es 3, y a partir de este momento no podr amos calcular el coseno de un ngulo hasta a que no borrsemos la variable cos. a

1.3.3.

Informacin sobre las variables o

Para obtener informacin sobre las variables denidas en una sesin de trabajo se utilizan o o las rdenes who y whos. La primera muestra las variables que tienen valores asignados, la o segunda nos da adems informacin sobre el tamao y el tipo de dato. a o n >> >> who whos

Puede observarse que Matlab utiliza los escalares como matrices 1 1.

1.3.4.

Cmo borrar variables o

La orden clear se utiliza para borrar todas las variables denidas hasta el momento; si a la orden se le aade una lista de variables (separadas por espacios en blanco) slo se borrarn n o a las variables de la lista. 5

>> >> >>

clear t s=v0*t who

% slo borra t o

Como la variable t ha desaparecido Matlab da un mensaje de error al recalcular s y si le pedimos informacin sobre las variables que hemos denido en la sesin de trabajo con la orden o o who, no nos aparece la variable t. >> >> clear a v0 who % slo borra a y v0 o

Tambin se pueden borrar variables pinchando con el botn derecho del ratn sobre la variable e o o en la ventana Workspace y seleccionando Delete.

1.3.5.

Algunas variables predenidas en Matlab

Algunas variables ya estn denidas en Matlab: a Nombre ans eps pi iyj inf NaN date Signicado Almacena el ultimo resultado no asignado a una variable Epsilon de la mquina a Unidad imaginaria No es un nmero u Fecha

El psilon de la mquina es el nmero positivo ms pequeo que sumado a 1 genera un nmero e a u a n u mayor que 1 en el ordenador, (en un PC eps=2.220446049250313e-016) y NaN (Not a Number ) representa una expresin indeterminada, como puede verse en el siguiente ejemplo: o >> (2-2)/(3-3)

1.3.6.

Tipos de datos

Los tipos de datos que se almacenan en Matlab son variados. Los ms bsicos son: a a Numricos. Por defecto se trabaja con nmeros reales. Si es necesario, opera con nmeros e u u complejos que guarda como pareja de nmeros reales. u Caracteres. Formado por cualesquiera de los caracteres del cdigo ASCII. La forma de o denir un carcter es encerrarlo entre comillas simples a (tecla situada a la derecha del a 0, no confundir con el acento) Lgicos. Son los formados por los valores verdadero (1) y falso(0). Ms adelante o a hablaremos de ellos. 6

Ejercicio 1.4 1. Defnase una variable con el nombre pi y almacnese en ella el valor 6. e 2. Defnase una variable con el nombre x y almacnese en ella el valor 5. e 3. Defnase una variable con el nombre vo y almacnese el dato de caracteres volumen. e 4. Averguese que variables denidas por el usuario estn activas. a 5. Elim nense las variables x y pi, dando las ordenes en una sola l nea. 6. Verifquese que efectivamente no estn activas y que la variable intr a nseca pi ha recuperado su valor 7. Elim nense el resto de las variables. Ejercicio 1.5 1. Defnase una variable con el nombre a y almacnese en ella el valor 55 . e 2. Hllese el valor de: a 55 . 55 1 55 55 55 ; 5 ; 5 55 10 5 12 5 21

u 3. Modifquese la orden anterior y calclese:

1.4.

Precisin y formatos o

En Matlab, la precisin con la que se representan los nmeros reales internamente es o u siempre la misma y est entre 15 o 16 d a gitos. Esta precisin se puede ver en la variable eps, o nombrada anteriormente. El formato de presentacin de resultados de Matlab si es modicable por el usuario a travs de o e la orden format. Puede verse un listado completo de posibilidades con help format. Algunos formatos habituales son: format short(formato por defecto), format long y format rat. Ejemplo 1.4.1 Obtngase el valor de en formato largo. e Solucin o Se escribe la instruccin o >> >> format long pi

e Ejemplo 1.4.2 Obtngase el valor de 3/4 + 4/9 en formato short y rat. Solucin o Se escribe la instruccin o >> >> >> >> format %vuelve al formato por defecto a=3/4 +4/9 format rat a 7

Conviene recordar que la aritmtica que utiliza la mquina solo posee una cantidad nita e a de nmeros reales. Esto hace que: u Algunas propiedades de la suma y el producto no se cumplan siempre. Ejercicio 1.6 Realcense las operaciones (10308 2) 0,1 y 10308 (2 0,1) Un nmero sea insignicante frente a otro. u Ejercicio 1.7 Comprubese que 1050 + 1 y 1050 son iguales, a pesar de que para la e mquina el 1 no es insignicante a

1.5.

Archivos de rdenes o

Escribir los comandos directamente en la ventana de trabajo de Matlab resulta cmodo o para ejecutar unas pocas rdenes. Sin embargo, cuando tenemos que ejecutar un gran nmero o u de instrucciones de forma consecutiva para lograr unos nes, necesitamos crear un programa. Normalmente los programas no se escriben directamente en la ventana de comandos sino que se guardan en archivos de ordenes. Para crear un programa hay que usar un editor de texto. Matlab trae uno incorporado que es especialmente util, ya que resalta en diferentes colores comandos, variables, mensajes, ... Para activarlo se puede pinchar con el ratn en el menu File, o elegir New y luego M-le o en el icono correspondiente de la barra de herramientas. Se abre la ventana del editor de textos de Matlab donde escribimos las instrucciones que Matlab pueda entender, como si estuviramos en la l e nea de comandos de la ventana principal. Luego se guarda el archivo con un nombre que el programa almacena con la extensin .m. El nombre del o chero sigue las mismas reglas que los nombres de variables. Para ejecutar un chero basta con escribir en la Ventana de Comandos el nombre del archivo. Tambin se puede ejecutar desde e la Ventana del Editor pinchando sobre el icono Run. Ejemplo 1.5.1 % En las primeras lneas, precedidas del smbolo % podemos poner la ayuda % o descripcin del fichero. o x=4;y=3;% Hemos definido dos variables. % Sumaremos sus cuadrados S=x^2+y^2 Lo guardamos en nuestro directorio, con un nombre vlido: prueba1. Para ejecutarlo volvemos a a la ventana de trabajo y seleccionamos en la barra de arriba (recuadro Current Directory) la carpeta donde est el chero. Tecleamos el nombre del programa, sin extensin, a o >> prueba1

y Matlab ejecuta las tres rdenes de manera consecutiva (se salta los comentarios) y nos o devuelve slo el valor de S. o Nota: Recurdese que si ponemos punto y coma (;) al nal de una l e nea, la orden se ejecuta, la variable queda guardada en memoria, pero no se ve nada en pantalla. Los valores de x, y y S estn en memoria (de hecho, deber aparecer en la ventana de las a an variables). 8

1.5.1.

Entrada y salida de datos por pantalla

En el archivo que acabamos de crear, los datos utilizados, x = 4 e y = 3, se introducen en el propio chero, el cual slo nos permite calcular la suma de stos dos nmeros. Si quisiramos o e u e sumar otro par de nmeros deber u amos modicar los datos escritos en el mismo. Sin embargo, en los cheros de comandos tambin podemos escribir programas ms generales que cada vez e a que se ejecuten nos pidan, por pantalla, los datos que debemos asignar a las variables denidas en el chero. Para hacer esto se utiliza el comando input. La forma de utilizar este comando es la siguiente: a=input(Mensaje pidiendo un dato en la ventana de comandos) Al ejecutar el chero, en la Ventana de Comandos aparecer el mensaje pidiendo datos y a el programa espera a que el usuario teclee el dato que desea introducir. Introducido ste, tras e pulsar la tecla de cambio de lnea , su valor se almacenar en la varible a y, a continuacin, a o se ejecuta el resto del programa. Ejemplo 1.5.2 % Este fichero permite sumar los cuadrados de dos nmeros reales cualesquiera u x=input(Introduce el primer nmero ); u y=input(Introduce el segundo nmero ); u S=x^2+y^2 Lo guardamos en nuestro directorio, con el nombre : prueba2. Ejercicio 1.8 Escrbase un programa en un archivo, de nombre producto, que dados tres nmeros reales u cualesquiera calcule su producto. A menudo nos interesar mostrar en la pantalla un mensaje de texto o el valor de una a variable sin que aparezca su nombre. Para ello Matlab dispone del comando disp, cuyo funcionamiento es el siguiente: disp (Mensaje de texto) o bien disp(x) siendo x el nombre de una variable.

Ejemplo 1.5.3 % Voy a crear ahora un programa que me sirva para sumar dos % nmeros cualesquiera pidindolos por pantalla con la orden input. u e x=input(Introduce el primer nmero, x= ); u y=input(Introduce el segundo nmero, y= ); u % Voy a escribir un mensaje, con la orden disp disp(Su suma es:) S=x+y; % Pido que muestre en pantalla la variable numrica S e disp(S) %Sin comillas por ser una variable Lo guardamos en nuestro directorio, con el nombre : prueba3. u o Ejemplo 1.5.4 Segn el algoritmo que da las dos posibles soluciones de una ecuacin de segundo grado, escribe un programa en un archivo, de nombre sol2grado, que calcule las soluciones x1 y x2. Util cese para calcular las soluciones de la ecuacin 2x2 3x + 1 = 0. o Solucin o a=input(Introduce el coeficiente de x^2 de la ecuacin de segundo grado: a=); o % orden para introducir un dato por pantalla b=input(Introduce el coeficiente de x de la ecuacin de segundo grado: b=); o c=input(Introduce el trmino independiente de la ecuacin de segundo grado:c=); e o disp(Las soluciones son:) % orden para presentar un mensaje en pantalla x1=( -b+sqrt(b^2-4*a*c))/(2*a), x2 =( -b-sqrt(b^2-4*a*c))/(2*a) % La orden sqrt(x) % devuelve la raiz cuadrada de x. Una vez creado el archivo sol2grado se ejecuta con la orden >> sol2grado Introduce el coeficiente de x^2 de la ecuacin de segundo grado: a=2 o Introduce el coeficiente de x de la ecuacin de segundo grado: b=-3 o Introduce el trmino independiente de la ecuacin de segundo grado:c=1 e o Las soluciones son: x1 = 1 x2 = 0.5000 Obsrvese que no se introduce la extensin .m e o Recuerda: Funcin o a=input(Mensaje) disp(mensaje) disp(x) Salida Almacena en a un dato introducido por teclado, mostrando en pantalla la cadena mensaje. Presenta en pantalla la cadena mensaje. Presenta la variable x 10

Ejercicio 1.9 Constryase un chero de nombre ejercicio1 9 que pida por pantalla dos u nmeros reales y devuelva su suma y su producto. Util u cese para calcular la suma y el producto de los nmeros 4 y 9. u Ejercicio 1.10 Escrbase un programa en un archivo, de nombre Areacorona que calcule el rea de una corona circular, introducidos por pantalla los radios. Prubese para el caso de una a e corona de radios r1=12, r2=21.

11

También podría gustarte