Académique Documents
Professionnel Documents
Culture Documents
MATLAB
Mayo 2014
Computación II
INGENIERÍA CIVIL, UAZ
Archivos-M (M-files)
Hasta el momento hemos visto que para completar un cálculo en MatLab, tenemos que
teclear varios comandos (y varias líneas a la vez) uno por uno en la ventana de comandos
(Command Window). Al hacer esto, se cometen errores que retardan nuestros cálculos, ya
que si se está trabajando en la ventana de comandos, se requiere volver a meter todos o
parte de los comandos y variables o constantes antes definidas (todo esto integraría un
programa o –script–). Aún si no se tienen equivocaciones, todo el trabajo puede ser perdido
si se cierra inadvertidamente MatLab y no se realizaron los pasos necesarios para guardar el
contenido de las tareas o cálculos realizados. Esto último, es precisamente lo que
evitaríamos al crear un programa que justo guarde el código (instrucciones de nuestros
cálculos) para poderlas ejecutar cuando se desee. Entonces, para preservar largas series de
comandos, se pueden almacenar en un tipo especial de archivo denominado un archivo-M
(M-file).
MatLab soporta dos tipos de M-files: script y function. Para mantener una gran colección de
comandos, usamos un script M-file. La function M-file será tratada más adelante. Para crear
un script M-file, se requiere abrir un archivo usando el constructor MatLab Editor
incorporado en MatLab. Esto es, primero seleccione New desde el menú File, luego
seleccione M-file de las opciones desplegadas. Después meta los contenidos en el M-file, y
posteriormente guarde (save) el archivo. Para guardar el script (programa) considere lo
siguiente:
for m = 1:10
x(m) = m^2;
end
los diferentes valores de m^2 (i. e., m2) en cada elemento del “arreglo-x”. Un arreglo es
justo una estructura de datos que puede mantener múltiples entradas y salidas. Y como ya
lo hemos señalado, los arreglos en 1-D y 2-D son paquetes encasillados de números o pares
ordenados de números respectivamente, asignados a ellos.
Para encontrar el valor de una casilla en particular del arreglo, tal como la casilla o
elemento 3, metemos:
x(3)
Si una secuencia de comandos debe ser condicionalmente evaluada basada sobre una
prueba relacional (condicional), la programación de esta relación lógica es ejecutada con
alguna variación de una estructura if-else-end.
if expresión
comandos evaluados si la expresión es Verdadera
else
comandos evaluados si la expresión es Falsa
end
Notas:
1. Los comandos entre las declaraciones if y else son evaluados si todos los
elementos en la expresión son verdaderos.
2. La expresión condicional usa los símbolos lógicos boolean & (y), | (o), y ~
(no, o negación) para conectar diferentes acciones o proposiciones.
for a = 1:10
b = 15;
if a > 5
C(a) = a*b;
else
C(a) = a*b*3/2;
end
end
B. Cuando hay tres o más alternativas, la estructura if-else-end toma la forma siguiente
sintaxis:
if expresión 1
comandos 1 evaluados si la expresión 1 es Verdadera
elseif expresión 2
comandos 2 evaluados si la expresión 2 es Verdadera
elseif expresión 3
comandos 3 evaluados si la expresión 3 es Verdadera
…
else
comandos evaluados si ninguna de las expresiones anteriores es
Verdadera
end
Como una alternativa para la sintaxis if, se puede usar, en ciertas instancias, expresiones
booleanas para especificar una expresión en diferentes dominios. Por ejemplo, x >= 1 tiene
el valor 1 si x es mayor o igual a 1 y cero para lo contrario; y, x <= h es igual a 1 cuando x
es menor o igual a h, y cero para el caso contrario. Las operaciones relacionales permitidas
en las expresiones condicionales, son: = =, < =, > =, ~ =, <, >.
Tarea Nº
1. Para los valores del entero a que van desde 1 hasta 10, usando separadamente los
métodos de la sintaxis “if” y las expresiones alternativas booleanas (operadores
relacionales y lógicos), encontrar los valores de C, según se indica a continuación:
C = a2 para a<3
C = a + 5 para 3≤ a <7
C=a para a≥7
2. Para completar las estructuras de control que maneja MatLab, consulte y describa la
estructura de selección “switch-case-end”, y la estructura repetitiva “while-end”. Y
proporcione un ejemplo para cada una de las estructuras de control anteriores.
Apóyese en los tutoriales y manuales que se le han proporcionado, así como en la
propia ayuda que está contenida en el ambiente MatLab.
Comentarios u observaciones:
Nombre y grupo:
Fecha de entrega: