Funciones en matlab
Práctica 3: Funciones
Objetivos de la práctica En esta práctica estudiaremos cómo podemos aumentar la funcionalidad del lenguaje MATLAB para nuestras aplicaciones definiendo funciones. Antes de comenzar En primer lugar debéis crear vuestra carpeta de trabajo con el explorador de Windows. A continuación, iniciar MATLAB y cambiar eldirectorio a la carpeta de trabajo que habéis creado: • pwd indica cuál es el directorio actual contenidos del directorio actual • dir • cd camino cambiar de directorio. M-files en MATLAB Los M-files pueden ser scripts, que simplemente ejecutan una serie de órdenes o instrucciones de MATLAB; o pueden ser funciones, que además aceptan argumentos y producen resultados. Se crea un M-file utilizando uneditor de textos. La versión 5.3 de MATLAB tiene su propio editor (medit). Utilizamos el editor para escribir el M-file, a continuación lo grabamos y lo llamamos directamente desde la línea de comandos de MATLAB como si fuera cualquier otra orden de las que ya conocemos.
Scripts vs. Funciones Scripts Funciones • No aceptan argumentos de • Aceptan argumentos de entrada y entrada ni producenresultados de producen resultados salida • Trabajan sobre las variables en el • Por defecto, las variables internas workspace son locales a la función • Útiles para automatizar una serie • Útiles para extender el lenguaje de pasos que se repiten muchas MATLAB para tus aplicaciones veces Los scripts trabajan sobre variables en el Workspace de la línea de comandos o crean nuevas variables que son añadidasa dicho Workspace, de modo que todas esas variables pueden ser luego manipuladas desde la línea de comandos. Funciones Veremos un ejemplo de función y sobre ella describiremos sus elementos básicos. function pf = pvt (p) %Definición de la función % PVT Precio venta publico %Línea H1 % PVT (p) devuelve el precio con IVA, %Texto ayuda % de un producto, dado su precio (p) sin IVA. iva = 0.16; pf = p* (1+ iva);
%Cuerpo de la función
• Definición de la función: Esta línea define el nombre de la función (pvt) y el número y orden de parámetros de entrada (en el ejemplo, un parámetro: p) y el número y orden de parámetros de salida o resultados (en el ejemplo, un parámetro: pf). function pf = pvt (p) parámetro de entrada nombre de la función parámetro de salida palabra reservada
Si lafunción tiene más de un parámetro de entrada, estos se separan por comas y si tiene más de un parámetro de salida se escribe la lista separada por comas y entre corchetes ([ ]). Este sería un ejemplo general: function [x, y] = mifuncion (a, b, c) • Línea H1: Se trata de una primera línea comentada (empieza con %) tras la línea de definición de la función. MATLAB muestra esta primera ayuda cuandousamos el comando lookfor o pedimos ayuda sobre un directorio • Texto de ayuda: MATLAB muestra este texto junto con la línea H1 cuando solicitamos ayuda sobre una determinada función (help pvt). Se muestra el texto comentado hasta la primera línea en blanco o la primera línea ejecutable. El resto de comentarios tras este bloque se ignoran. • Cuerpo de la función: esta parte contiene las sentencias querealizan los cálculos y asignan valores a los parámetros de salida. La función opera sobre variables en su propio espacio de trabajo, separado del espacio de trabajo de la línea de comandos. Nombre de la función Los nombres de las funciones deben empezar por una letra. Por lo demás, pueden ser cualquier combinación de letras, números o signos. El nombre del fichero (M-file) que contiene la funciónes el mismo nombre de la función seguido de la extensión .m. pvt.m Cuando llamamos a una función, MATLAB busca en el espacio de trabajo y después en los directorios indicados en el pathwork (comando path). Si queremos conocer los M-files que tenemos en nuestro directorio de trabajo, escribiremos la orden what en la línea de comandos. Si queremos ver el contenido del M-file pvt.m, entonces...
Regístrate para leer el documento completo.