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.

Pruebas para la clase derivada más

Si define funciones que requieren entradas que son:

  • tipos integradosMATLAB®

  • No subclases de tipos integradosMATLAB

Utilice la técnica siguiente para excluir subclases de tipos integrados de los argumentos de entrada.

  • Defina una matriz de celdas que contenga los nombres de los tipos integrados aceptados por la función.

  • Llame y para probar los tipos específicos en una instrucción de control.classstrcmpMATLAB

El código siguiente prueba un argumento de entrada:inputArg

if strcmp(class(inputArg),'single')    % Call function else    inputArg = single(inputArg); end

Pruebas para una categoría de tipos

Supongamos que crea una función MEX, que requiere dos entradas numéricas que deben ser de tipo o:myMexFcndoublesingle

outArray = myMexFcn(a,b)

Defina una matriz de celdas que contenga las palabras y:floatTypesdoublesingle

floatTypes = {'double','single'};
% Test for proper types if any(strcmp(class(a),floatTypes)) && ...    any(strcmp(class(b),floatTypes))    outArray = myMexFcn(a,b); else    % Try to convert inputs to avoid error    ... end

Otra prueba para los tipos integrados

Puede usar para separar tipos integrados de subclases de tipos integrados.isobject La función devuelve para instancias de tipos integrados.isobjectfalse Por ejemplo:

% Create a int16 array a = int16([2,5,7,11]); isobject(a) 
ans =      0 

Determine si una matriz es uno de los tipos enteros integrados:

if isa(a,'integer') && ~isobject(a)    % a is a built-in integer type    ... end