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.

Capítulo 6: Programación <strong>de</strong> MATLAB página 61<br />

En el siguiente ejemplo se presenta una estructura correspondiente a dos bucles anidados. La<br />

variable j es la que varía más rápidamente (por cada valor <strong>de</strong> i, j toma todos sus posibles valores):<br />

for i=1:m<br />

for j=1:n<br />

sentencias<br />

end<br />

end<br />

Una última forma <strong>de</strong> interés <strong>de</strong>l bucle for es la siguiente (A es una matriz):<br />

for i=A<br />

sentencias<br />

end<br />

en la que la variable i es un vector que va tomando en cada iteración el valor <strong>de</strong> una <strong>de</strong> las columnas<br />

<strong>de</strong> A.<br />

Cuando se introducen interactivamente en la línea <strong>de</strong> comandos, los bucles for se ejecutan<br />

sólo <strong>de</strong>spués <strong>de</strong> introducir la sentencia end que los completa.<br />

<strong>6.1</strong>.4. SENTENCIA WHILE<br />

La estructura <strong>de</strong>l bucle while es muy similar a la <strong>de</strong> C/C++/Java. Su sintaxis es la siguiente:<br />

while condicion<br />

sentencias<br />

end<br />

don<strong>de</strong> condicion pue<strong>de</strong> ser una expresión vectorial o matricial. Las sentencias se siguen ejecutando<br />

mientras haya elementos distintos <strong>de</strong> cero en condicion, es <strong>de</strong>cir, mientras haya algún o algunos<br />

elementos true. El bucle se termina cuando todos los elementos <strong>de</strong> condicion son false (es <strong>de</strong>cir,<br />

cero).<br />

<strong>6.1</strong>.5. SENTENCIA BREAK<br />

Al igual que en C/C++/Java, la sentencia break hace que se termine la ejecución <strong>de</strong>l bucle más<br />

interno <strong>de</strong> los que compren<strong>de</strong>n a dicha sentencia.<br />

<strong>6.1</strong>.6. SENTENCIA CONTINUE<br />

La sentencia continue hace que se pase inmediatamente a la siguiente iteración <strong>de</strong>l bucle for o<br />

while, saltando todas las sentencias que hay entre el continue y el fin <strong>de</strong>l bucle en la iteración<br />

actual.<br />

<strong>6.1</strong>.7. SENTENCIAS TRY...CATCH...END<br />

La construcción try...catch...end permite gestionar los errores que se pue<strong>de</strong>n producir en tiempo <strong>de</strong><br />

ejecución. Su forma es la siguiente:<br />

try<br />

sentencias1<br />

catch<br />

sentencias2<br />

end<br />

En el caso <strong>de</strong> que durante la ejecución <strong>de</strong>l bloque sentencias1 se produzca un error, el control<br />

<strong>de</strong> la ejecución se transfiere al bloque sentencias2. Si la ejecución transcurriera normalmente,<br />

sentencias2 no se ejecutaría nunca. MATLAB dispone <strong>de</strong> una función lasterr que <strong>de</strong>vuelve una

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

Saved successfully!

Ooh no, something went wrong!