Professional Documents
Culture Documents
(DECANA DE AMERICA)
CODIGO : 15160216
LIMA – PERU
2018
INDICE
1. Archivos de Comandos
>>Saludar
Hola
Mundo
2. Funciones
function[argumentos_salida] = nombre(argumentos_entrada)
Nombre corresponde al nombre de la función.
Argumentos_salida representa una lista de elementos o variables de
retorno de la función. El valor de cada uno de los elementos de salida
varía a medida que se ejecuta el algoritmo. Los valores devueltos por
la función convocada serán los valores que se encuentren en
argumentos_salida en el momento en que termina la ejecución de la
función. La definición de esta salida es opcional; de no aparecer, la
función se convertiría en un procedimiento, puesto que no devuelve
nada; sólo acepta parámetros y ejecuta el algoritmo dado.
Argumentos_entrada son los parámetros que recibe la función para
poder realizar su procesamiento. Estos argumentos, durante de la
ejecución, son parámetros recibidos por valor (By value); es decir, se
hacen duplicados de los parámetros, y es en éstos sobre los cuales
se realizan todas las modificaciones.
Contrario a los archivos M de comandos, todas las variables que se
definan dentro del cuerpo o definición de la función, si la función es
convocada desde la ventana de comandos, no pasarán a formar parte de
nuestro workspace.
IMPORTANTE
El nombre de la función debe coincidir con el nombre de archivo M con el cual se la
guarda. De no hacer esto, podrían existir errores de directorio y/o de ejecución.
Consigna:
Ejecutar el algoritmo con otras matrices y vectores de términos
independientes.
Investigar sobre el funcionamiento de la instrucción size.
Realizar algunos casos de prueba con sistemas de ecuaciones
incompatibles e indeterminados.
3. Comentarios
Una de las herramientas más útiles para los programadores son los
comentarios. Mediante éstos, se puede hacer más legible el código
fuente, estructurado y mantenible. Los comentarios se introducen con el
símbolo “%”; cuando este símbolo aparece, todo lo que sigue a partir de
él hasta el final de la línea se considera como un comentario. Todo lo
que sea un comentario dentro de un programa, es simplemente ignorado
por el intérprete.
Además de las utilidades antes mencionadas, los comentarios en MatLab
se usan para crear el archivo Help de una función.
El archivo Help de una función es una especie de “Léeme” que indica el
funcionamiento básico de la función, así como su definición y los
argumentos que puede recibir.
Para definir un archivo Help, o simplemente Help, de una función o un
archivo de comandos, se escribe como comentario todo lo que se quiere
que este Help contenga, justo después de la definición de la función, para
el caso de los archivos de función; o al inicio del archivo, en los archivos
de comandos. El final del Help de un archivo se marca con una
separación mediante una línea en blanco.
Consigna:
Convocar al archivo Help de la función modificada y extraer
conclusiones sobre su funcionamiento.
4. Valores, Operadores y Expresiones Booleanas
Consigna:
En la Command Window del MatLab escribir las siguientes líneas y
sacar conclusiones:
1. 23==23
2. 51~=51
3. 0&1
4. ~0
Consigna:
En la ventana de comandos escribir las siguientes sentencias y
extraer conclusiones:
1. (23>25)|(23<25)
2. (23>22)&(23<25)
3. (29==71)|1
4. (29<71)|((31==30)&(25==26))
5. ((29<71)|(31==30))&(25==26)
Explicar la diferencia entre el punto 4 y el punto 5.
Investigar o desarrollar otra forma realizar las operaciones booleanas,
definiendo mediante el anillo de las clases residuales módulo 2.
5. Estructuras de control
5.1 Bifuracciones
if <condición>
<acciones a realizar por respuesta afirmativa>
else
<acciones a realizar por respuesta negativa>
end
Una forma de ampliar esta estructura es haciendo uso del elseif. Esta
palabra permite hacer varias evaluaciones, y, por lo tanto, obtener más
de dos posibles alternativas.
Abajo se muestra la sintaxis para el uso del elseif.
if <condición 1>
<acciones a realizar para condición 1>
elseif <condición 2>
<acciones a realizar para condición 2>
else
<acciones a realizar si ninguna condición se cumple>
end
Ejemplo:
Vamos a continuar mejorando la función “solución” planteada haciendo
uso de los comandos if... then…else…end.
Puede verse claramente que en la función nunca se controla el hecho de
que la matriz A tenga la misma cantidad de filas que el vector de términos
independientes B; por lo tanto agregamos un pequeño control que
monitoree que se cumpla esta condición.
Además, tenemos que vigilar que el sistema sea compatible determinado para
obtener la solución correcta.
Luego, pediremos que el rango de la matriz A coincida con el rango de la
ampliada, así como con el número de incógnitas.
Estas modificaciones sobre la función pueden apreciarse en la figura 5.
Consigna:
Ejecutar la función con la nueva modificación desde la ventana de
comandos para valores válidos e inválidos de matrices A y B. Extraer
conclusiones:
1. ¿Qué devuelve el programa al ingresar dos matrices con el mismo
número de filas?
2. ¿Qué devuelve el programa el ingresar dos matrices con distinto
número de filas?
3. ¿Qué devuelve el programa al ingresar una matriz de coeficientes
correspondiente a un sistema de ecuaciones incompatible?
4. ¿Qué respuesta se obtiene ante un sistema que admite infinitas
soluciones?
5. ¿Cómo funciona el comando size dentro del programa?
6. ¿Cómo funciona el comando error dentro del programa?
switch <Expresión a
evaluar> case <Valor 1>
<Sentencias 1>
case <Valor 2>
<Sentencias 2>
case <…>
<…>
case <Valor N>
<Sentencias N>
otherwise
<Sentencias en otro caso>
end
for i=1:N
<Sentencias>
end
Aquí, el arreglo, o vector, está dado por 1:N, es decir, una matriz de la forma
[1, 2, 3,…, N].
Ejemplo:
A continuación se presenta un pequeño ejemplo del uso de esta
instrucción. El algoritmo busca un elemento dentro de un vector que
recibe como parámetro.
Para este sencillo algoritmo no se consideraron todos los posibles casos,
sino que se lo presenta más bien a modo de ilustración del
funcionamiento del comando For.
En la figura 9 aparece el programa, con su correspondiente Help, y
algunos comentarios que explican algunas variables.
while <Condición>
<Sentencias
>
end