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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

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

>> A(:,3:-1:1)<br />

ans =<br />

6 1 8<br />

7 5 3<br />

2 9 4<br />

aunque hubiera sido más fácil utilizar la función fliplr(A), que es específica para ello.<br />

Finalmente, hay que <strong>de</strong>cir que A(:) representa un vector columna con las columnas <strong>de</strong> A una<br />

<strong>de</strong>trás <strong>de</strong> otra.<br />

3.5.5. MATRIZ VACÍA A[ ]. BORRADO DE FILAS O COLUMNAS<br />

Para MATLAB una matriz <strong>de</strong>finida sin ningún elemento entre los corchetes es una matriz que<br />

existe, pero que está vacía, o lo que es lo mismo que tiene dimensión cero. Considérense los<br />

siguientes ejemplos <strong>de</strong> aplicación <strong>de</strong> las matrices vacías:<br />

>> A=magic(3)<br />

A =<br />

8 1 6<br />

3 5 7<br />

4 9 2<br />

>> B=[]<br />

B =<br />

[]<br />

>> exist(B)<br />

ans =<br />

[]<br />

>> isempty(B)<br />

ans =<br />

1<br />

>> A(:,3)=[]<br />

A =<br />

8 1<br />

3 5<br />

4 9<br />

Las funciones exist() e isempty() permiten chequear si una variable existe y si está vacía. En<br />

el último ejemplo se ha eliminado la 3ª columna <strong>de</strong> A asignándole la matriz vacía.<br />

3.5.6. DEFINICIÓN DE VECTORES Y MATRICES A PARTIR DE UN FICHERO<br />

MATLAB acepta como entrada un fichero nombre.m (siempre con extensión .m) que contiene<br />

instrucciones y/o funciones. Dicho fichero se llama <strong>de</strong>s<strong>de</strong> la línea <strong>de</strong> comandos tecleando<br />

simplemente su nombre, sin la extensión. A su vez, un fichero *.m pue<strong>de</strong> llamar a otros ficheros<br />

*.m, e incluso pue<strong>de</strong> llamarse a sí mismo (funciones recursivas). Las variables <strong>de</strong>finidas <strong>de</strong>ntro <strong>de</strong><br />

un fichero <strong>de</strong> comandos *.m que se ejecuta <strong>de</strong>s<strong>de</strong> la línea <strong>de</strong> comandos son variables <strong>de</strong>l espacio <strong>de</strong><br />

trabajo base, esto es, pue<strong>de</strong>n ser accedidas <strong>de</strong>s<strong>de</strong> fuera <strong>de</strong> dicho fichero; no suce<strong>de</strong> lo mismo si el<br />

fichero *.m correspon<strong>de</strong> a una función. Si un fichero <strong>de</strong> comandos se llama <strong>de</strong>s<strong>de</strong> una función, las<br />

variables que se crean pertenecen al espacio <strong>de</strong> trabajo <strong>de</strong> dicha función.<br />

Como ejemplo se pue<strong>de</strong> crear un fichero llamado unidad.m que construya una matriz unidad<br />

<strong>de</strong> tamaño 3x3 llamada U33 en un directorio llamado g:\matlab. Este fichero <strong>de</strong>berá contener la<br />

línea siguiente:<br />

U33=eye(3)<br />

Des<strong>de</strong> MATLAB llámese al comando unidad y obsérvese el resultado. Entre otras razones, es<br />

muy importante utilizar ficheros <strong>de</strong> comandos para po<strong>de</strong>r utilizar el Debugger y para evitar teclear<br />

muchas veces los mismos datos, sentencias o expresiones.

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

Saved successfully!

Ooh no, something went wrong!