Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

Validar el número de argumentos de función

En este ejemplo se muestra cómo comprobar si la función personalizada recibe un número válido de argumentos de entrada o salida. realiza algunas comprobaciones de argumentos automáticamente.MATLAB® Para otros casos, puede usar o.narginchknargoutchk

Comprobaciones automáticas de argumentos

comprueba si la función recibe más argumentos de los esperados cuando puede determinar el número de la definición de función.MATLAB Por ejemplo, esta función acepta hasta dos salidas y tres entradas:

Si se pasan demasiadas entradas, se emite un error.myFunctionMATLAB No es necesario llamar para comprobar este caso.narginchk

[X,Y] = myFunction(1,2,3,4)
Error using myFunction Too many input arguments.

Utilice las funciones y para comprobar que la función recibe:narginchknargoutchk

  • Un número mínimo de argumentos requeridos.

  • No más de un número máximo de argumentos, cuando la función usa o.vararginvarargout

Las comprobaciones de entrada con narginchk

Defina una función en un archivo denominado que requiera al menos dos entradas.testValues.m La primera entrada es un valor de umbral para comparar con las otras entradas.

Llame con muy pocos insumos.testValues

testValues(10)
Error using testValues (line 4) Not enough input arguments.

Llame con suficientes entradas.testValues

testValues(10,1,11,111)
Test value 2 exceeds 10 Test value 3 exceeds 10

Las comprobaciones de salida con nargoutchk

Defina una función en un archivo denominado que devuelva las dimensiones de la matriz de entrada en un vector (de la función) y, opcionalmente, devuelva valores escalares correspondientes a los tamaños de cada dimensión.mysize.msize Se utiliza para comprobar que el número de tamaños individuales solicitados no excede el número de dimensiones disponibles.nargoutchk

Llame con un número válido de salidas.mysize

A = rand(3,4,2); [fullsize,nrows,ncols,npages] = mysize(A)
fullsize =      3     4     2  nrows =      3  ncols =      4  npages =      2

Llame con demasiadas salidas.mysize

A = 1; [fullsize,nrows,ncols,npages] = mysize(A)
Error using mysize (line 4) Too many output arguments.

Consulte también

|

Temas relacionados