08.11.2014 Views

Aprenda Matlab 6.1 - Universidad Politécnica de Madrid

Aprenda Matlab 6.1 - Universidad Politécnica de Madrid

Aprenda Matlab 6.1 - Universidad Politécnica de Madrid

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Aprenda</strong> <strong>Matlab</strong> <strong>6.1</strong> como si estuviera en Primero página 98<br />

>> x=[1 5 4 2]; y=[1 0 4 3];<br />

>> fill(x,y,'r')<br />

>> colormap(gray), fill(x,y,[1 0.5 0.8 0.7])<br />

7.4. Entrada <strong>de</strong> puntos con el ratón<br />

Se realiza mediante la función ginput, que permite introducir las coor<strong>de</strong>nadas <strong>de</strong>l punto sobre el que<br />

está el cursor, al clicar (o al pulsar una tecla). Algunas formas <strong>de</strong> utilizar esta función son las<br />

siguientes:<br />

[x,y] = ginput lee un número in<strong>de</strong>finido <strong>de</strong> puntos –cada vez que se clica o se pulsa<br />

una tecla cualquiera– hasta que se termina pulsando la tecla intro<br />

[x,y] = ginput(n) lee las coor<strong>de</strong>nadas <strong>de</strong> n puntos<br />

[x,y,bot] = ginput igual que el anterior, pero <strong>de</strong>vuelve también un vector <strong>de</strong> enteros bot<br />

con el código ASCII <strong>de</strong> la tecla pulsada o el número <strong>de</strong>l botón <strong>de</strong>l ratón<br />

(1, 2, ...) con el que se ha clicado<br />

Como ejemplo <strong>de</strong> utilización <strong>de</strong> este comando, ejecútense las instrucciones siguientes en la<br />

ventana <strong>de</strong> comandos <strong>de</strong> MATLAB para introducir un cuadrilátero arbitrario y dibujarlo <strong>de</strong> dos<br />

formas:<br />

>> clf, [x,y]=ginput(4);<br />

>> figure(gcf), plot(x,y,'w'), pause(5), fill(x,y,'r')<br />

don<strong>de</strong> se ha introducido el comando pause(5) que espera 5 segundos antes <strong>de</strong> pasar a ejecutar el<br />

siguiente comando. Este comando admite como argumento un tiempo con precisión <strong>de</strong> centésimas<br />

<strong>de</strong> segundo.<br />

7.5. Preparación <strong>de</strong> películas o "movies"<br />

Para preparar pequeñas películas o movies se pue<strong>de</strong>n utilizar las funciones movie, moviein y<br />

getframe. Una película se compone <strong>de</strong> varias imágenes, <strong>de</strong>nominadas frames. La función getframe<br />

<strong>de</strong>vuelve un vector columna con la información necesaria para reproducir la imagen que se acaba <strong>de</strong><br />

representar en la figura o ventana gráfica activa, por ejemplo con la función plot. El tamaño <strong>de</strong> este<br />

vector columna <strong>de</strong>pen<strong>de</strong> <strong>de</strong>l tamaño <strong>de</strong> la ventana, pero no <strong>de</strong> la complejidad <strong>de</strong>l dibujo. La función<br />

moviein(n) reserva memoria para almacenar n frames. La siguiente lista <strong>de</strong> comandos crearía una<br />

película <strong>de</strong> 17 imágenes o frames, que se almacenarán como las columnas <strong>de</strong> la matriz M:<br />

M = moviein(17);<br />

x=[-2*pi:0.1:2*pi]';<br />

for j=1:17<br />

y=sin(x+j*pi/8);<br />

plot(x,y);<br />

M(:,j) = getframe;<br />

end<br />

Una vez creada la película se pue<strong>de</strong> representar el número <strong>de</strong> veces que se <strong>de</strong>see con el<br />

comando movie. Por ejemplo, para representar 10 veces la película anterior, a 15 imágenes por<br />

segundo, habría que ejecutar el comando siguiente (los dos últimos parámetros son opcionales):<br />

movie(M,10,15)<br />

Los comandos moviein, getframe y movie tienen posibilida<strong>de</strong>s adicionales para las que pue<strong>de</strong><br />

consultarse el Help correspondiente. Hay que señalar que en MATLAB no es lo mismo un movie<br />

que una animación. Una animación es simplemente una ventana gráfica que va cambiando como<br />

consecuencia <strong>de</strong> los comandos que se van ejecutando. Un movie es una animación grabada o<br />

almacenada en memoria previamente.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!