Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Int Prog Matlab
Int Prog Matlab
1. Archivos de Comandos
Los archivos de comandos son simplemente archivos M que contienen instrucciones del
MATLAB. Una vez editados, se los guarda con un nombre en algn directorio que se
encuentre dentro del path de bsqueda del MATLAB.
Por defecto, la carpeta de trabajo es el directorio work, que se encuentra dentro de la
carpeta de instalacin del MATLAB. Para cambiar este directorio o carpeta de trabajo,
as como agregar nuevas carpetas de biblioteca, se debe usar el Path Browser, o el Set
Path. El primero se encuentra en el editor de archivos M que trae el MATLAB incluido.
Para convocar los archivos M escritos, solo se debe escribir el nombre del archivo
guardado en la ventana de comandos, y las instrucciones que hayan sido escritas sern
ejecutadas.
Aqu se debe notar algo importante; todas las variables que se hayan definido o creado
dentro de este archivo, luego de su ejecucin, pasarn a formar parte de nuestro Espacio
de Trabajo, o Workspace. Se debe tratar de que las variables del workspace no
coincidan con las que aparecen en los archivos M que se han de ejecutar.
Ejemplo: Se utilizar el ya clsico Hola Mundo. Primeramente, abrimos un
documento de texto, ya sea desde el editor de archivos M que incluye el MATLAB, o
desde cualquier otro que nos permita editar ASCII. En l, escribimos la siguiente lnea,
tal como lo muestra la figura 1.
disp(Hola Mundo)
lgebra II
lgebra II
2. Funciones
Una funcin es un archivo M similar al archivo M de comandos, con una diferencia en
su definicin. La primera lnea de una funcin posee la siguiente estructura:
function[argumentos_salida] = nombre(argumentos_entrada)
lgebra II
A = 5 4 1 , y B = 4 .
2 1 1
8
En el la ventana de comandos esto queda
>> A=[1,0,2;5,4,1;-2,1,-1]
lgebra II
A =
1
5
-2
0
4
1
2
1
-1
>> B=[12,4,-8]'
B =
12
4
-8
>> solucion(A,B)
ans =
0.5714
-1.1429
5.7143
Verificndose que:
>> A*ans
ans =
12
4
-8
Como puede verse, esta funcin siempre devuelve una solucin, la cul puede no ser
correcta si estamos ante un sistema incompatible.
Tampoco se consideran casos de indeterminabilidad.
Adems, y este es tal vez el error ms grande, no se toma en cuenta el hecho de que la
matriz A puede no ser ampliable con el vector de trminos independientes B.
Con estas consideraciones, se puede concluir que este programa no es til, o no est
completo.
Consigna:
Ejecutar el algoritmo con otras matrices y vectores de trminos independientes.
Investigar sobre el funcionamiento de la instruccin size.
Realizar algunos casos de prueba con sistemas de ecuaciones incompatibles e
indeterminados.
3. Comentarios
Una de las herramientas ms tiles para los programadores son los comentarios.
Mediante stos, se puede hacer ms legible el cdigo fuente, estructurado y mantenible.
Los comentarios se introducen con el smbolo %; cuando este smbolo aparece, todo
lo que sigue a partir de l hasta el final de la lnea se considera como un comentario.
Todo lo que sea un comentario dentro de un programa, es simplemente ignorado por el
intrprete.
lgebra II
Adems de las utilidades antes mencionadas, los comentarios en MatLab se usan para
crear el archivo Help de una funcin.
El archivo Help de una funcin es una especie de Leme que indica el funcionamiento
bsico de la funcin, as como su definicin y los argumentos que puede recibir.
Para definir un archivo Help, o simplemente Help, de una funcin o un archivo de
comandos, se escribe como comentario todo lo que se quiere que este Help contenga,
justo despus de la definicin de la funcin, para el caso de los archivos de funcin; o al
inicio del archivo, en los archivos de comandos. El final del Help de un archivo se
marca con una separacin mediante una lnea en blanco.
Ejemplo: Vamos a modificar el programa antes escrito, e introduciremos un Help que
indique que es lo que el programa hace, y cul es la forma correcta de ser convocado.
En la figura 6 puede verse como en la lnea 7 se encuentra la separacin antes
mencionada (lnea en blanco), la cul establece el final del archivo Help de Solucin.m.
lgebra II
23==23
51~=51
0&1
~0
(23>25)|(23<25)
(23>22)&(23<25)
(29==71)|1
(29<71)|((31==30)&(25==26))
((29<71)|(31==30))&(25==26)
lgebra II
5. Estructuras de control
5.1 Bifuracciones
La estructura bsica para la bifurcacin es el ifthenelseend. En MatLab, se escribe
if <condicin>
<acciones a realizar por respuesta afirmativa>
else
<acciones a realizar por respuesta negativa>
end
Ejemplo:
Vamos a continuar mejorando la funcin solucin planteada haciendo uso de los
comandos if... thenelseend.
Puede verse claramente que en la funcin nunca se controla el hecho de que la matriz A
tenga la misma cantidad de filas que el vector de trminos independientes B; por lo
tanto agregamos un pequeo control que monitoree que se cumpla esta condicin.
Adems, tenemos que vigilar que el sistema sea compatible determinado para obtener la
solucin correcta.
Luego, pediremos que el rango de la matriz A coincida con el rango de la ampliada, as
como con el nmero de incgnitas.
Estas modificaciones sobre la funcin pueden apreciarse en la figura 5.
Consigna:
Ejecutar la funcin con la nueva modificacin desde la ventana de comandos para
valores vlidos e invlidos de matrices A y B. Extraer conclusiones:
1. Qu devuelve el programa al ingresar dos matrices con el mismo nmero de
filas?
2. Qu devuelve el programa el ingresar dos matrices con distinto nmero 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. Cmo funciona el comando size dentro del programa?
6. Cmo funciona el comando error dentro del programa?
lgebra II
Expresin a evaluar
Valor 1
Sentencias 1
Valor 2
Sentencias 2
Valor N
Sentencias N
Sentencias en
otro caso
lgebra II
a evaluar>
1>
2>
N>
en otro caso>
La variable tomar el valor de cada columna y ejecutar las sentencias definidas, hasta
llegar al final del arreglo.
En los casos particulares para los cuales ser usada esta instruccin, el arreglo de
elementos no es ms que un vector de una fila y N columnas; por lo tanto, la variable
slo tomar valores escalares, como en el ejemplo de cdigo que sigue:
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 continuacin se presenta un pequeo ejemplo del uso de esta instruccin. El
algoritmo busca un elemento dentro de un vector que recibe como parmetro.
Para este sencillo algoritmo no se consideraron todos los posibles casos, sino que se lo
presenta ms bien a modo de ilustracin del funcionamiento del comando For.
En la figura 9 aparece el programa, con su correspondiente Help, y algunos comentarios
que explican algunas variables.
10
lgebra II
11