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 59<br />

false<br />

e<br />

Condición<br />

Sentencias<br />

true<br />

Sentencias<br />

Condición<br />

false<br />

e<br />

true<br />

Figura 26. Bucles con control al principio y al final.<br />

Las bifurcaciones y bucles no sólo son útiles en la preparación <strong>de</strong> programas o <strong>de</strong> ficheros<br />

*.m. También se aplican con frecuencia en el uso interactivo <strong>de</strong> MATLAB, como se verá más<br />

a<strong>de</strong>lante en algunos ejemplos.<br />

<strong>6.1</strong>.1. SENTENCIA IF<br />

En su forma más simple, la sentencia if se escribe en la forma siguiente (obsérvese que –a<br />

diferencia <strong>de</strong> C/C++/Java– la condición no va entre paréntesis, aunque se pue<strong>de</strong>n poner si se<br />

<strong>de</strong>sea) 12 :<br />

if condicion<br />

sentencias<br />

end<br />

Existe también la bifurcación múltiple, en la que pue<strong>de</strong>n concatenarse tantas condiciones<br />

como se <strong>de</strong>see, y que tiene la forma:<br />

if condicion1<br />

bloque1<br />

elseif condicion2<br />

bloque2<br />

elseif condicion3<br />

bloque3<br />

else % opción por <strong>de</strong>fecto para cuando no se cumplan las condiciones 1,2,3<br />

bloque4<br />

end<br />

don<strong>de</strong> la opción por <strong>de</strong>fecto else pue<strong>de</strong> ser omitida: si no está presente no se hace nada en caso <strong>de</strong><br />

que no se cumpla ninguna <strong>de</strong> las condiciones que se han chequeado.<br />

Una observación muy importante: la condición <strong>de</strong>l if pue<strong>de</strong> ser una condición matricial, <strong>de</strong>l<br />

tipo A==B, don<strong>de</strong> A y B son matrices <strong>de</strong>l mismo tamaño. Para que se consi<strong>de</strong>re que la condición se<br />

cumple, es necesario que sean iguales dos a dos todos los elementos <strong>de</strong> las matrices A y B (a ij =b ij ,<br />

1≤i≤m, 1≤j≤n). Basta que haya dos elementos a ij y b ij diferentes para que las matrices ya no sean<br />

iguales, y por tanto las sentencias <strong>de</strong>l if no se ejecuten. Análogamente, una condición en la forma<br />

A∼=B exige que todos los elementos sean diferentes dos a dos (a ij ?b ij , 1≤i≤m, 1≤j≤n). Bastaría que<br />

hubiera dos elementos a ij y b ij iguales para que la condición no se cumpliese. En resumen:<br />

if A==B<br />

if A∼=B<br />

exige que todos los elementos sean iguales dos a dos<br />

exige que todos los elementos sean diferentes dos a dos<br />

12<br />

En los ejemplos siguientes las sentencias aparecen <strong>de</strong>splazadas hacia la <strong>de</strong>recha respecto al if, else o end. Esto se<br />

hace así para que el programa resulte más legible, resultando más fácil ver dón<strong>de</strong> empieza y termina la bifurcación o<br />

el bucle. Es muy recomendable seguir esta práctica <strong>de</strong> programación.

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

Saved successfully!

Ooh no, something went wrong!