Tecnología

Inicio

MATLAB de análisis de entrada

MATLAB de análisis de entrada


Al implementar el código fuente, tales como rutinas de análisis de MATLAB, prever todas las posibles escenarios de uso para garantizar una aplicación robusta. código robusto siempre comprueba la entrada del usuario para asegurarse de que funciona correctamente con su código. MATLAB implementa un objeto "inputParser" que agiliza la verificación precisa de los insumos requeridos y opcionales a sus funciones habituales.

La implementación de análisis de entrada

Para ser compatibile con "inputParser," su función MATLAB incluye entradas de tres tipos diferentes: requerido, opcional y parámetros. Su declaración de función debe tener el formato para incluir entradas necesarias por el nombre, seguido por una sola variable para contener las entradas y los parámetros opcionales. Esta variable es a menudo llamado "varargin," o un término similar, que significa "argumentos variables en". En MATLAB, "varargin" es un conjunto de células de argumentos opcionales se envían a la función.

Por ejemplo, en "myFunction.m":
[Output1, output2] = función de myFunction (req_input1, req_input2, varargin)
analizador = inputParser;
...
parser.parse (req_input1, req_input2, varargin {:});
% De su código personalizado
fin

La comprobación de datos de entrada requeridos

insumos requeridos necesita tener un valor especificado, mientras que las entradas opcionales se pueden ajustar a un valor predeterminado. Añadir insumos necesarios para su inputParser utilizando el método de "addRequired ()" de la clase inputParser junto con la comprobación de valores válidos. Necesarios y entradas opcionales deben ser añadidos en el orden en que aparecen en la llamada de función.

Por ejemplo:
parser.addRequired ( 'req_input1', @ ischar); 1% de entrada debe ser una cadena
validInputs = { 'manzana' 'naranja' 'piña' uva ''};
parser.addRequired ( 'req_input2', @ (x) cualquier (strcmp (x, validInputs)));

Añadir entradas opcionales utilizando el método de "addOptional ()". Añadir valores por defecto como un argumento adicional. Por ejemplo:

parser.addOptional ( 'opt_input1', 35, @ IsNumeric);

parámetros

A diferencia de los insumos requeridos y opcionales, los parámetros están emparejados por un nombre de parámetro y valor en la llamada de función. Por ejemplo, el código para procesar una imagen puede contener parámetros de anchura y altura, incluido en la llamada de función como:

myImageFunction (..., 'altura', 256, 'width', 128);

El orden de los parámetros no importa, sino que debe ser añadido después de todos los insumos requeridos y opcionales. Los parámetros se añaden a la inputParser utilizando el método de "addParamValue ()".

parser.addParamValue ( 'ParamName', default_value, validator_code);

La validación de valores de entrada

Además de los validadores simples como "@ischar" y "@isnumeric," validadores complejos verificar rangos adecuados de insumos u otros atributos.

miValidador = @ (x) IsNumeric (x) && @ (x) ISA (x, "doble") && (x> 100 || X <-100);

La variable miValidador proporciona un medio para comprobar qué tipo de variable se pasa, incluyendo numérica, el formato de un doble, y ya sea mayor de 100 o menos de -100.