SESIÓN 02: FUNCIONES
CONTENIDO
OBJETIVO ................................................................................................................ 3
CONTENIDO............................................................................................................ 4
INTRODUCCIÓN ..................................................................................................... 5
CONCEPTOS TEÓRICOS........................................................................................ 6
Function............................................................................................................... 6
Help functions .................................................................................................... 7
Instrucciones importantes ................................................................................ 7
Raíces de funciones .......................................................................................... 8
Funciones inline ................................................................................................ 10
Evaluación de funciones ............................................................................... 10
BIBLIOGRAFÍA ....................................................................................................... 12
INTRODUCCIÓN
Anteriormente se aprendió sobre uno de los dos tipos de
archivos de MATLAB: 𝑆𝑐𝑟𝑖𝑝𝑡, en el podíamos realizar programas
en un editor sin necesidad de codificar siempre en la ventana
de comandos. En la presente sesión, se desarrollará el segundo
tipo: 𝑓𝑢𝑛𝑐𝑡𝑖𝑜𝑛𝑠, cómo crearlos, evaluarlos y cómo mostrar el
mensaje de ayuda; además de un tipo nuevo de funciones
usando comando 𝑖𝑛𝑙𝑖𝑛𝑒.
CONCEPTOS TEÓRICOS
FUNCTION
Una 𝑓𝑢𝑛𝑐𝑡𝑖𝑜𝑛 o función se define mediante un 𝑚 − 𝑓𝑖𝑙𝑒, cuyo
nombre coincide con el nombre de la función. En la primera
línea ejecutable debe encontrarse 𝑓𝑢𝑛𝑐𝑡𝑖𝑜𝑛.
Imagen N° 01 - Function
Donde:
𝑛𝑜𝑚𝑏𝑟𝑒_𝑓𝑢𝑛𝑐𝑖𝑜𝑛 es el nombre de la función.
𝑒𝑛𝑡𝑟𝑎𝑑𝑎1 y 𝑒𝑛𝑡𝑟𝑎𝑑𝑎2 son los argumentos de entrada.
𝑠𝑎𝑙𝑖𝑑𝑎1 y 𝑠𝑎𝑙𝑖𝑑𝑎2 son los argumentos de salida.
Las variables definidas en la función (salvo los argumentos) son locales.
Para que el valor de una variable sea compartido por varias funciones se
emplea la instrucción global, cuya sintaxis es global variable y debe
aparecer en todas las funciones que la compartan.
HELP FUNCTIONS
Es conveniente poner un comentario en la primera línea de los programas
que creamos (debe ser relevante), esto anteponiendo el carácter
porcentaje (%) antes de empezar con el comentario; y para ver la ayuda
del programa se digita en la ventana de comandos de la siguiente
manera: 𝒉𝒆𝒍𝒑 𝒏𝒐𝒎𝒃𝒓𝒆_𝒇𝒖𝒏𝒄𝒊𝒐𝒏.
Imagen N° 02 - help
INSTRUCCIONES IMPORTANTES
𝒓𝒆𝒕𝒖𝒓𝒏: Finaliza la función y retorna al sitio donde ha sido invocada.
𝒏𝒂𝒓𝒈𝒊𝒏: Número de argumentos de entrada.
𝒏𝒂𝒓𝒈𝒐𝒖𝒕: Número de argumentos de salida.
𝒆𝒓𝒓𝒐𝒓(‘𝒎𝒆𝒏𝒔𝒂𝒋𝒆’) muestra un mensaje de error y finaliza al programa.
𝒆𝒓𝒓𝒐𝒓(‘𝒎𝒆𝒏𝒔𝒂𝒋𝒆’, 𝒂𝟏, 𝒂𝟐, … ) muestra un mensaje de error conteniendo
formatos similares al 𝑠𝑝𝑟𝑖𝑛𝑡𝑓 de MATLAB y finaliza el programa.
𝒄𝒍𝒐𝒄𝒌 Devuelve una lista con los 6 elementos (año, mes, día, hora, minutos
y segundos).
𝒅𝒂𝒕𝒆 Devuelve la fecha del calendario actual.
𝒊𝒏𝒇𝒐 Información sobre MATLAB.
𝒗𝒆𝒓 Da información sobre el programa y su Toolbox.
𝒕𝒊𝒄 Iniciar temporizador del cronómetro.
𝒕𝒐𝒄 Leer el tiempo transcurrido desde el cronómetro.
𝒆𝒕𝒊𝒎𝒆 Tiempo transcurrido entre los vectores de fecha
Ejemplo:
Imagen N° 03 – Instrucciones importantes
RAÍCES DE FUNCIONES
La función 𝑓𝑧𝑒𝑟𝑜 ( ), sirve para hallar la raíz de una función.
Sintaxis: 𝒙 = 𝒇𝒛𝒆𝒓𝒐(𝒇𝒖𝒏, [𝒂 𝒃])
Donde 𝑓𝑢𝑛 es la función de la cual queremos hallar su raíz y [𝑎, 𝑏] es el
intervalo donde queremos hallar la raíz.
Imagen N° 04 – fzero
Imagen N° 05 – Gráfica de coseno de 𝑥
FUNCIONES INLINE
Su sintaxis es la siguiente:
𝒇 = 𝒊𝒏𝒍𝒊𝒏𝒆(‘𝒆𝒙𝒑𝒓𝒆𝒔𝒊𝒐𝒏’): convierte en función inline la cadena ‘𝑒𝑥𝑝𝑟𝑒𝑠𝑖𝑜𝑛’.
𝒇 = 𝒊𝒏𝒍𝒊𝒏𝒆(‘𝒆𝒙𝒑𝒓𝒆𝒔𝒊𝒐𝒏’, 𝒂𝒓𝒈𝟏, 𝒂𝒓𝒈𝟐, … , 𝒂𝒓𝒈𝒏): convierte en función inline a
la cadena ‘𝑒𝑥𝑝𝑟𝑒𝑠𝑖𝑜𝑛’ con 𝑛 argumentos de entrada de datos.
En próximas versiones de MATLAB el comando 𝑖𝑛𝑙𝑖𝑛𝑒 será eliminado es por
ello que 𝑀𝑎𝑡ℎ𝑊𝑜𝑟𝑘𝑠 recomienda trabajar con funciones anónimas.
Ejemplo:
Creación de una función inline de dos variables.
Imagen N° 06 – Función inline
EVALUACIÓN DE FUNCIONES
Comando 𝑓𝑒𝑣𝑎𝑙( ): Sirve para evaluar funciones.
Sintaxis:
𝒇𝒆𝒗𝒂𝒍(‘𝒇𝒖𝒏’, 𝒂𝒓𝒈𝟏, … , 𝒂𝒓𝒈𝒏) o 𝒇𝒆𝒗𝒂𝒍(@𝒇𝒖𝒏, 𝒂𝒓𝒈𝟏, … , 𝒂𝒓𝒈𝒏)
Donde:
𝒇𝒖𝒏 es una función que queremos evaluar.
Ejemplo:
Creamos una función 𝒇𝒖𝒏𝟏. 𝒎 con una sola variable en el editor de texto.
Imagen N° 07 – Evaluación de funciones
EJEMPLO 01: PRODUCTO INTERNO DE
VECTORES
OBJETIVO
El objetivo principal del ejemplo es crear una
función que reciba vectores como
argumentos de entrada.
PLANTEAMIENTO
Crear una función 𝑝𝑝𝑢𝑛𝑡𝑜( ) que halle el producto
interno o producto escalar de dos vectores,
ingresados como argumentos de entrada. La
función debe contener los mensajes de error
correspondientes.
DESARROLLO
La captura de pantalla contiene el código de la función, así como las
llamadas a dicha función desde la ventana de comandos; además
el código de la función incluye los comentarios correspondientes:
Instituto Científico del Pacífico
[Link]
EJEMPLO 02: CONVERSIÓN DE GRADOS
CELSIUS A KELVIN
OBJETIVO
El objetivo principal del ejemplo es crear una
función que realice la conversión de
temperaturas de grados Celsius a grados
Kelvin.
PLANTEAMIENTO
Crear una función 𝐶𝑒𝑙𝑠𝑖𝑢𝑠2𝐾𝑒𝑙𝑣𝑖𝑛( ) que reciba
como argumento de entrada la temperatura en
grados Celsius y como argumento de salida la
conversión de dicha temperatura en grados Kelvin.
DESARROLLO
Creamos la función 𝑚𝑎𝑦𝑜𝑟(𝑎, 𝑏, 𝑐) que recibe 3 argumentos y cuando
se ingrese otra cantidad de argumentos se muestre un mensaje de
error:
EJEMPLO 03: CREACIÓN DE FUNCIÓN SIN
ARGUMENTOS DE ENTRADA Y SALIDA
OBJETIVO
El objetivo principal del ejemplo es crear
funciones sin recibir argumentos de entrada y
salida.
PLANTEAMIENTO
Crear una función 𝑒𝑠𝑡𝑟𝑒𝑙𝑙𝑎( ) que realice el
gráfico de una estrella de cinco vértices sin
valores de ingreso ni retorno.
DESARROLLO
El editor contiene una función de nombre estrella, el cual no
tiene argumentos de entrada, tampoco retorna valores luego de
ejecutar el programa; este programa solo lleva a cabo una serie de
instrucciones que al llamar a la función por su nombre nos muestra el
gráfico de una estrella, tal como se observa en el gráfico.
EJEMPLO 04: ÁNGULO ENTRE VECTORES
OBJETIVO
El presente ejemplo tiene por objetivo crear
una función que reciba vectores de entrada y
devuelva un escalar.
PLANTEAMIENTO
Crear una función con dos argumentos de
entrada que corresponde a dos vectores de
igual dimensión y un argumento de salida que es
el ángulo que forman los vectores dados.
DESARROLLO
La función implementada en MATLAB es:
Las funciones 𝑛𝑜𝑟𝑚 y 𝑑𝑜𝑡 permiten hallar el módulo y producto interno de
vectores respectivamente.
EJEMPLO 05: OPERACIONES BÁSICAS
OBJETIVO
El objetivo del presente ejemplo es crear una
función que realice la suma y la multiplicación
de tres argumentos de entrada.
PLANTEAMIENTO
Crear una función que reciba tres argumentos
de entrada, y como argumento de salida se
muestre la suma y multiplicación de ellos.
DESARROLLO
Se crea un script de MATLAB con 𝑓𝑢𝑛𝑐𝑡𝑖𝑜𝑛.
El resultado es:
EJEMPLO 06: TOROIDE
OBJETIVO
El objetivo del presente ejemplo es crear una
función que reciba argumentos de entrada,
sin embargo, no devuelva ningún valor de
salida.
PLANTEAMIENTO
Crear una función que reciba como entradas el
radio menor y mayor para realizar el gráfico de
un toroide.
DESARROLLO
Las instrucciones para una función que realiza el gráfico del toroide son
las siguientes líneas de código.
SESIÓN 02
RECOMENDACIONES
En la resolución de cada uno de los ejercicios debe indicar los
pasos realizados con capturas de pantalla.
También adjunte los archivos trabajados para dar seguimiento y
para mejor corrección de la tarea.
Todo lo solicitado debe encontrarse dentro de una carpeta
comprimida con su nombre:
TAREA
Crear una función con un argumento de entrada que corresponde a
temperatura 𝑡 en grados 𝐶𝑒𝑙𝑠𝑖𝑢𝑠. El programa tiene como argumento de
salida al valor de la temperatura 𝑡 en grados 𝐹𝑎ℎ𝑟𝑒𝑛ℎ𝑒𝑖𝑡 y 𝐾𝑒𝑙𝑣𝑖𝑛. El
programa debe incluir mensajes de ayuda, mensajes de error y el tiempo
de ejecución.