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
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.