3 Programación Matlab

Páginas: 32 (7786 palabras) Publicado: 28 de octubre de 2015
Aprenda Matlab 6.1 como si estuviera en Primero

página 58

6. PROGRAMACIÓN DE MATLAB
Como ya se ha dicho varias veces –incluso con algún ejemplo– MATLAB es una aplicación que se
puede programar muy fácilmente. De todas formas, como lenguaje de programación pronto verá
que no tiene tantas posibilidades como otros lenguajes (ni tan complicadas...). Se comenzará viendo
las bifurcaciones y bucles, yla lectura y escritura interactiva de variables, que son los elementos
básicos de cualquier programa de una cierta complejidad.
6.1. Bifurcaciones y bucles
MATLAB posee un lenguaje de programación que –como cualquier otro lenguaje– dispone de
sentencias para realizar bifurcaciones y bucles. Las bifurcaciones permiten realizar una u otra
operación según se cumpla o no una determinada condición. LaFigura 25 muestra tres posibles
formas de bifurcación.

true
Condición 1
Condición
true

false
e

Condición

false
e

false
e

true
Condición 2

Sentencias

Bloque 1

Bloque 1
true

Bloque 2
false
e
Bloque 3

Bloque 2

Figura 25. Ejemplos gráficos de bifurcaciones.

Los bucles permiten repetir las mismas o análogas operaciones sobre datos distintos. Mientras
que en C/C++/Java el "cuerpo" de estassentencias se determinaba mediante llaves {...}, en
MATLAB se utiliza la palabra end con análoga finalidad. Existen también algunas otras diferencias
de sintaxis.
La Figura 26 muestra dos posibles formas de bucle, con el control situado al principio o al
final del mismo. Si el control está situado al comienzo del bucle es posible que las sentencias no se
ejecuten ninguna vez, por no habersecumplido la condición cuando se llega al bucle por primera
vez. Sin embargo, si la condición está al final del bucle las sentencias se ejecutarán por lo menos
una vez, aunque la condición no se cumpla. Muchos lenguajes de programación disponen de bucles
con control al principio (for y while en C/C++/Java) y al final (do … while en C/C++/Java). En
MATLAB no hay bucles con control al final del bucle, esdecir, no existe la construcción análoga a
do ... while.

Capítulo 6: Programación de MATLAB

false
e

página 59

Condición

Sentencias

true
Sentencias

Condición
true
false
e

Figura 26. Bucles con control al principio y al final.

Las bifurcaciones y bucles no sólo son útiles en la preparación de programas o de ficheros
*.m. También se aplican con frecuencia en el uso interactivo de MATLAB,como se verá más
adelante en algunos ejemplos.
6.1.1. SENTENCIA IF
En su forma más simple, la sentencia if se escribe en la forma siguiente (obsérvese que –a
diferencia de C/C++/Java– la condición no va entre paréntesis, aunque se pueden poner si se
desea)12:
if condicion
sentencias
end

Existe también la bifurcación múltiple, en la que pueden concatenarse tantas condiciones
como se desee, y quetiene la forma:
if condicion1
bloque1
elseif condicion2
bloque2
elseif condicion3
bloque3
else % opción por defecto para cuando no se cumplan las condiciones 1,2,3
bloque4
end

donde la opción por defecto else puede ser omitida: si no está presente no se hace nada en caso de
que no se cumpla ninguna de las condiciones que se han chequeado.
Una observación muy importante: la condición del if puede seruna condición matricial, del
tipo A==B, donde A y B son matrices del mismo tamaño. Para que se considere que la condición se
cumple, es necesario que sean iguales dos a dos todos los elementos de las matrices A y B (aij=bij,
1≤i≤m, 1≤j≤n). Basta que haya dos elementos aij y bij diferentes para que las matrices ya no sean
iguales, y por tanto las sentencias del if no se ejecuten. Análogamente, unacondición en la forma
A∼=B exige que todos los elementos sean diferentes dos a dos (aij?bij, 1≤i≤m, 1≤j≤n). Bastaría que
hubiera dos elementos aij y bij iguales para que la condición no se cumpliese. En resumen:
if A==B
if A∼=B
12

exige que todos los elementos sean iguales dos a dos
exige que todos los elementos sean diferentes dos a dos

En los ejemplos siguientes las sentencias aparecen...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • programación en matlab
  • Programacion en Matlab
  • Programación en matlab
  • Programacion matlab
  • Programación en Matlab
  • Programacion robot matlab
  • Fundamentos de lenguaje de programacion de matlab
  • Ejercicios programacion en matlab

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS