Está en la página 1de 16

EXAMEN 3ER PARCIAL

RESUMEN 6T0 TUTORIAL MATLAB

JESUS MAGDIEL GRANADOS AZPEITIA


TECNOLOGIAS INFORMATICAS
UNIVERSIDAD AUTONOMA DEL ESTADO DE HIDALGO
RESUMEN
1. PROGRAMACION EN MATLAB
Matlab puede realizar complicadas operaciones con matrices sin embargo a veces
hay una necesidad de tener un mayor control sobre los elementos de las matrices
además de tener la posibilidad de probar y de ramificar a través de condiciones
lógicas, aunque puede ser de mucha ayuda tener conocimientos previos de
lenguajes de programación de alto nivel.

El lenguaje de programación de Matlab es tan simple que se puede aprender con


facilidad y rapidez, la elaboración de un programa para Matlab es muy sencillo,
recordemos que se trabaja sobre el comand Window, qué es la ventana inicial
donde ingresamos comandos y los ejecutamos directamente.

Matlab reconoce automáticamente los ficheros que tienen extensión “.m” de esta
manera si en esta ventana escribimos “miprog” las órdenes almacenadas en el
fichero “miprog” se ejecutaran una tras otra cómo se puede ver se crearon las
variables x e y con los varios con los valores descritos en el script.

A ese recorrido a través de las instrucciones se le conoce con el nombre de flujo


de programa y a los comandos de un programa se le denominan sentencias.

El hecho de guardar una serie de instrucciones es decir el código en un fichero


tiene de por sí algunas ventajas por ejemplo evitar repetir las órdenes en el
comand window, pero la potencia de un programa se pone de manifiesto si en ese
contienen instrucciones que controlan las sentencias que se ejecutan en cada
circunstancia así un programa puede decidir llegando al punto de que ejecuta
unos comandos u otros en función del valor que tome una variable; estás
decisiones se toman a partir de condicionales que se verán más adelante.

1.1. ESTRUCTURA GENERAL DE UN PROGRAMA


La estructura general de un programa básico en Matlab es la siguiente, primero
van los comentarios inicialmente pueden aparecer líneas comentadas en las que
se da un título del programa y se realiza una breve descripción del mismo, esta
parte es opcional, pero es sutil introducirla ya que nos permite acceder
directamente desde la ventana de comandos a la información comentada
mediante la utilización del comando help.

Lo segundo es la entrada de los datos si es que se requiere los datos necesarios


para la resolución del problema deben suministrarse al programa mediante la
lectura de sus valores por teclado o es de un fichero de datos.

Lo tercero es el algoritmo qué es el desarrollo de un procedimiento que permite


obtener la solución del problema en función de los datos de entrada

Y cuarto es la salida de los datos los datos obtenidos como solución del algoritmo
se deben ofrecer al usuario mediante escritura en pantalla o en un fichero de
datos.

1.2. ESTILO DE LOS PROGRAMAS

Un programa elegante suele ser un buen programa primero hay que mencionar
que en general para realizar una tarea en particular se pueden emplear muchos
programas diferentes que den el resultado correcto es entonces necesario saber
cuál de ellos es el más eficiente y para responderlo hay que ir probando para
mejorar su velocidad de ejecución

Con la práctica y con el estudio se descubren las maneras más rápidas de


implementar las instrucciones entre todas las posibles la confección de programas
se vuelve frecuentemente una tarea rutinaria donde el orden facilita las cosas que
pasaron programa una y otra vez modificando poco a poco el código para depurar
lo exige una cierta disciplina, aunque cada uno tenga sus preferencias es
conveniente desarrollar algunos hábitos a continuación algunas recomendaciones

1- El programa debe resultar de fácil lectura así pasado el tiempo es más


sencillo revisarlo los nombres de las variables en la medida de lo posible
deben ser auto explicativos
2- Introducir comentarios en el programa los comentarios como ya se ha visto
son líneas que no se ejecutan en las que se escriben aclaraciones
explicativas un programa con comentarios es mucho más fácil de entender
3- Definir variables al principio; suele ser de gran ayuda definir las variables al
principio, esto evita tener que buscarlas a lo largo del código para cambiar
su valor cuando sea necesario, además si es posible es mejor definir los
vectores y matrices al principio con su dimensión adecuada en el caso de
que haya que ir rellenando los valores de un vector.
4- Para ver dónde empiezan y dónde acaban los ciclos y condicionales es
recomendado identar (introducir una sangría) en las líneas contenidas en
ellos esto resulta especial ayuda con los bucles y condicionales anidados.

1.3. CONTROL DEL FLUJO

Al proceso de toma de decisiones se le llama control de flujo, antes de escribir


un programa, sobre todo si este es un tanto extenso o complejo es muy
recomendable y útil trazar un esquema en lenguaje corriente de lo que se
quiere hacer; a eso se le denomina un diagrama de flujo, si lo que se pretende
está claro, escribir el programa se reduce a traducir el diagrama de flujo del
español al lenguaje de Matlab

Matlab cuenta con cuatro instrucciones para el control de flujo las bifurcaciones
o condicionales y los condicionales “switch”, el ciclo “for” y el ciclo “while”
además todas estas instrucciones terminan con la palabra clave end.

2. CONDICIONALES

Los condicionales permiten realizar una u otra operación según se cumpla o


no una determinada condición. En los diagramas las condiciones encierran
bajo un rombo mientras que la sentencias o bloques de código se encierran
por rectángulos.
1.
2.
2.1. IF, IF-ELSE, ELSEIF
En su forma más simple la sentencia “if” se describe en la forma siguiente
dónde las sentencias son los evaluarán si la condición es verdadera el
diagrama de flujo correspondiente a esta forma de la sentencia “if” es el
siguiente:

2.1.1. IF-ELSE
La segunda forma de uso es el que se escribe de la siguiente forma y su
respectivo diagrama de flujo es el siguiente donde el bloque de sentencias uno
es evaluado solo si la condición es verdadera y se evalúa el bloque de
sentencias 2 cuando está es falsa
BIFURCACIÓN MÚLTIPLE: pueden concatenarse tantas condiciones como se
desee y tiene dos posibles formas dónde el bloque uno es evaluado solo si la
condición uno es verdadero, el bloque 2 se evalúa si la condición dos es
verdadera, y así sucesivamente, además la opción por defecto puede ser omitida
en la forma número uno se ve que no se presenta la opción por defecto. Entonces
en este caso si no se cumple ninguna de las condiciones anteriores ningún bloque
de código se ejecutará en la forma número 2 se tiene una opción por defecto es la
cuál es el cutánea el bloque n + 1 en el caso de que ninguna de las anteriores
condiciones sea verdadera.
2.2. SWITCH, CASE, OTHERWISE

La sentencia switch realiza una función análoga a un conjunto de if-else-if


concatenados su forma general es la siguiente
Al principio se evalúa la variable que en este caso la se nombró “var” cuyo
resultado debe ser un número escalar o una cadena de caracteres, este
resultado se compara con cada una de las opciones, las opciones van
seguidas de la palabra clave case, en caso de cumplirse se ejecuta el bloque
de sentencias o comandos que corresponda con ese resultado, si ninguna
de las opciones es igual a la variable “var” se ejecutan las sentencias
correspondientes a otherwise es decir se ejecuta el bloque de comandos 4.

3. CICLOS

Las estructuras repetitivas también llamadas ciclos o bucles en inglés controlan un


conjunto de instrucciones que deben repetirse cierto número de veces mientras se
cumple una condición que debe ser claramente especificado. La condición podrá
ser falsa o verdadera y se comprobará en cada paso o interacción del ciclo. Todo
ciclo consta de tres partes básicas

1ro.- La decisión donde se evalúa la condición y en caso de ser cierta se


ejecuta el cuerpo del ciclo
2do.- El cuerpo del ciclo que son las instrucciones que se ejecutarán
repetidamente un número determinado de veces siempre que la decisión
sea verdadera
3ro.- La salida del ciclo qué es la condición que indica cuando terminan las
iteraciones

3.1. FOR

La sentencia for repite un conjunto de sentencias un número predeterminado de


veces; la sentencia for de matlab es muy diferente y no tiene la generalidad de la
sentencia for de c++ o java.

3.2. WHILE

La estructura del ciclo while es muy similar a la de c++ o java, su sintaxis es


la siguiente y su diagrama de flujo es el que se muestra a continuación, la
condición puede ser una expresión vectorial o matricial, la sentencia se
sigue ejecutando mientras haya elementos distintos de cero en condición
mientras haya algún o algunos elementos verdaderos.

3.3. SENTENCIAS BREAK, CONTINUE, TRY…CATCH…END


- BREAKE: Al igual que C++ y java, la sentencia break hace que se termine
la ejecución del ciclo for y while más interno, de los que comprenden a
dicha sentencia es decir si se pone un break dentro de un ciclo anidado el
break solo se sale del ciclo interior no de los otros ciclos.
- CONTINUE: Este hace que se pase inmediatamente a la siguiente iteración
del ciclo for y while saltando todas las sentencias que hay entre el continue
y el fin del ciclo en la interacción actual es decir hasta la palabra end. Del
mismo modo si se pone un continuo dentro de un ciclo anidado este solo
afecta el ciclo interior
- TRY, CATCH, END
La construcción try catch and permite gestionar los errores que se pueden
producir en tiempo de ejecución su forma es la siguiente

En el caso de que durante la ejecución del bloque sentencias uno se


produzca un error el control de la ejecución se transfiere al bloque
sentencias dos si la ejecución transcurriera normalmente sentencias dos no
se ejecutaría nunca.
RESUMEN
3. LECTURA Y ESCRITURA INTERACTIVA DE VARIABLES (INPUT, DISP,
FPRINTF)
- FUNCIÓN INPUT: Permite imprimir un mensaje en la línea de comandos de
matlab y recuperar como valor de retorno un valor numérico o el resultado
de una expresión teclado por el usuario; después de imprimir el mensaje el
programa espera que el usuario teclee el valor numérico o la expresión
cualquier expresión válida demás la es aceptada por este comando. El
usuario puede teclear simplemente un vector o una matriz en cualquier
caso la expresión introducida es evaluada con los valores actuales de las
variables de matlab y el resultado se devuelve como valor de retorno.

- FUNCIÓN DISP: La función disp, permite imprimir en pantalla un mensaje


de texto o el valor de un vector matriz, pero sin imprimir su nombre en
realidad siempre imprime vectores y o matrices teniendo en cuenta que las
cadenas de caracteres son un caso particular de vectores.

- FUNCIÓN FPRINTF: La función fprintf es otra función para mostrar un


mensaje o un resultado, pero está permite mezclar texto y valores
numéricos de las variables y también se puede ajustar el formato de los
números. Esta función tiene muchas posibilidades, la sintaxis de fprintf está
basado en la función f puente del lenguaje c, su forma general puede ser:
o FORMATO: es una cadena de texto que controla la apariencia de la
salida, como su nombre lo indica el formato de los campos de salida
y el cual es especificado como una cadena de texto, la cadena
puede incluir un signo de porcentaje seguido por un carácter de
conversión la siguiente tabla muestra una lista de los diferentes
caracteres de conversión disponibles en matlab y sus
correspondientes subtipos.
Tabla 1Caracteres de conversión disponibles en Matlab

Las cadenas pueden incluir operadores adicionales, los cuales aparecen en el


siguiente orden:

- IDENTIFICADOR: indica el orden de procesamiento de las entradas se usa


la sintaxis n$, donde n representa la posición del valor en la lista de entrada
- BANDERAS: las diferentes banderas con las que cuenta Matlab son, “-“,
“+”, el espacio vacío, el “0# y “#”
Tabla 2Banderas en matlab

- ANCHO: El ancho campo es el mínimo número de caracteres que se


imprimen, puede ser un número o mediante un asterisco se puede referir a
un argumento en la lista de entrada por ejemplo se tiene las dos siguientes
listas de entrada como vemos en el primero se indica mediante el número
12 directamente tiene el segundo se utiliza un asterisco para referirse a un
argumento de la lista de entrada en este caso sería el 12.
- PRESICION: Indica el número de dígitos a la derecha del punto decimal por
ejemplo si se tiene %6.4f imprime Pi como 3,1416

VARIABLES: Las variables son a raíz numéricos o de caracteres especificados


como un escalar un vector. Una matriz o un array multidimensionales. Una lista de
variables separadas por comas que van a ser mostradas en pantalla de acuerdo
con la especificación descrita en formato
4. FICHEROS DE COMANDOS (SCRIPTS)
Son ficheros con nombre tal como file1.me qué contienen una sucesión de
comandos análoga a la que se crearía en el uso interactivo del programa. Dichos
comandos se ejecutan sucesivamente cuando se teclea el nombre del fichero que
los contiene sin la extensión es decir cuando se teclea file1.
Cuando se ejecuta desde la línea de comandos las variables creadas por file1
pertenecen al espacio de trabajo base de Matlab. Por el contrario, si se ejecuta
desde una función las variables que crea pertenecen al espacio de trabajo de la
función.
En los ficheros de comandos conviene poner los puntos y coma al final de cada
sentencia para evitar una salida de resultados demasiado cuantiosa.

5. FUNCIONES
La definición de las funciones la primera línea de un fichero llamado name.m que
define una función tiene la forma

functión [lista de valores de retorno] = name (lista de argumentos)

Entre corchetes la lista valores de retorno igual name y lista de argumentos, donde
name es el nombre de la función. Entre corchetes y separados por comas para los
valores de retorno (Siempre que haya más de uno) y entre paréntesis también
separados por comas los argumentos.

Puede haber funciones sin valor de retorno y también sin argumentos recuerde
además que los argumentos son los datos de la función y los valores de retorno
sus resultados.

Si no hay valores de retorno sí omiten los corchetes y el signo igual; si solo hay un
valor de retorno no hace falta poner corchetes. Tampoco hace falta poner
paréntesis si no hay argumentos.
Una diferencia importante con lenguajes cómo C++ o java es que, en Matlab, una
función no puede modificar nunca los argumentos que recibe al entorno que ha
realizado la llamada.

Los resultados de una función de matlab se obtienen siempre a través de los


valores de retorno, qué pueden ser múltiples y matriciales.

Tanto el número de argumentos como el número de valores de retorno no tienen


que ser fijos dependiendo de cómo el usuario llamada la función.

Las variables definidas dentro de una función son variables locales en el sentido
de que son inaccesibles desde otras partes del programa tiene el que no
interfieren con variables del mismo nombre definidas en otras funciones o partes
del programa.

Dentro de la función los valores de retorno deben ser calculados en algún


momento a diferencia de C++ o java, no hay una sentencia return obligatoria. De
todas maneras, no hace falta calcular siempre todos los posibles valores de
retorno de la función, sino sólo los que el usuario espera obtener de la sentencia
de llamada a la función.

La ejecución de una función termina cuando se llega a la última sentencia de


ejecutable si se quieren forzar el que una función terminé de ejecutarse se puede
utilizar la sentencia return que vuelve inmediatamente el control al entorno de
llamada.

También podría gustarte