Quando você implanta o código-fonte, tais como rotinas de análise MATLAB , antecipar todos os possíveis cenários de uso para garantir uma aplicação robusta . Código robusto sempre verifica a entrada do usuário para garantir que ele funcione corretamente com o seu código . MATLAB implementa um objeto " inputParser " que acelera forte verificação de insumos necessários e opcionais para as funções personalizadas . Implementação de entrada Analisando
Para ser compatibile com " inputParser ", a sua função MATLAB inclui entradas de três tipos diferentes: necessários, opcionais e parâmetros. Sua declaração de função deve ser formatado para incluir insumos necessários pelo nome , seguido de uma única variável para conter entradas e parâmetros opcionais. Esta variável é freqüentemente chamado de " varargin " ou um termo similar , de pé para "argumentos variáveis dentro" No MATLAB, " varargin " é um conjunto de células de argumentos opcionais enviados para a função.
Por exemplo, em " myFunction.m ": [ output1 , output2 ] = function myFunction ( req_input1 , req_input2 , varargin ) parser = inputParser ; ... parser.parse ( req_input1 , req_input2 , varargin {: }); % sua personalizado codeend
Verificando para insumos necessários
insumos necessários precisa ter um valor especificado , enquanto entradas opcionais pode ser ajustado para um valor padrão. Adicionar insumos necessários à sua inputParser utilizando o método " addRequired ()" da classe inputParser juntamente com a verificação de valores válidos. Insumos necessários e opcionais devem ser adicionados na ordem em que aparecem na chamada de função
Por exemplo : . Parser.addRequired (' req_input1 ', @ ischar ); entrada % 1 deve ser um stringvalidInputs = { 'maçã' 'laranja' ' ' uvas ' abacaxi '} ; parser.addRequired (' req_input2 ', @ (x) qualquer ( strcmp (x, validInputs )));
Adicionar entradas opcionais usando o " addOptional () " método . Adicionar valores padrão como um argumento extra. Por exemplo :
parser.addOptional (' opt_input1 ' , 35, @ IsNumeric );
Parâmetros
Ao contrário de insumos necessários e opcionais , os parâmetros são pareados por um nome de parâmetro e valor na chamada de função . Por exemplo , o código para processar uma imagem pode conter parâmetros de largura e altura, incluído na chamada de função como :
myImageFunction (..., 'height' , 256, ' width' , 128) ; < br >
A ordem dos parâmetros não importa, mas eles devem ser adicionados depois de tudo as entradas obrigatórias e opcionais. Os parâmetros são adicionados à inputParser utilizando o método " addParamValue () "
parser.addParamValue (' ParamName ' , default_value , validator_code ); .
Validando Valores de Entrada < br >
Além de validadores simples, como "@ ischar " e " @ IsNumeric " validadores complexos verificar faixas apropriadas de insumos ou outros atributos.
MyValidator = @ (x) IsNumeric (x ) && @ (x) isa (x, 'double' ) && (x > 100