sábado, 12 de octubre de 2013

Número de argumentos de entrada y salida de una función (nargin & nargout)


Una función definida en MATLAB tiene la siguiente estructura general:
function [x1, x2,.., xn]= nombrefuncion(a1,a2,…,an)
donde x1, x2,…,xn, son las variables de salida de la función y a1,a2,…,an, son los argumentos de entrada de la función.
En MATLAB las funciones pueden soportar un procedimiento específico acorde al número de argumentos que reciba o bien devolver uno o más valores según sean requeridos por el usuario.
Para ello se hace uso de las palabras reservadas nargin (número de argumentos de entrada) y nargout (número de variables de salida). Las cuales pueden ser utilizadas en una función para realizar un proceso determinado para un número de entradas o salidas definidas.
A continuación se muestra una función muy simple a modo de ejemplo:

function[suma,resta]=mifuncion(n1,n2)
if nargin~=2
    error('Número de argumentos de entrada no válidos');
end
if nargout==1
    suma=n1+n2;
end
if nargout==2
    suma=n1+n2;
    resta=n1-n2;
end
end


En el ejemplo anterior, utilizamos nargout para verificar cuantas variables de salida se están “solicitando” y con ello proporcionar una salida adecuada. De igual manera se utiliza nargin para garantizar que el número de argumentos de entrada sean los correctos, es decir, no diferente de dos para este caso.

1 comentario: