Når du installerer kildekode, såsom MATLAB analyse rutiner , forudse alle mulige brugsscenarier for at sikre et robust program . Robust kode tjekker altid bruger input til at sikre det fungerer korrekt med din kode . MATLAB gennemfører en " inputParser " objekt, der fremskynder en stærk kontrol af obligatoriske og valgfrie input til dine brugerdefinerede funktioner. Gennemførelse Input Tolker
For at være Passer til " inputParser , " din MATLAB funktion omfatter input af tre forskellige typer: obligatoriske , valgfri og parametre. Din funktion erklæring skal formateres til at omfatte nødvendige indgange ved navn , efterfulgt af en enkelt variabel til at indeholde valgfrie indgange og parametre. Denne variabel kaldes ofte " varargin " eller et lignende udtryk , stående for " variable argumenter i." i Matlab , " varargin " er en celle vifte af valgfri argumenter sendes til funktionen.
< P > For eksempel i " myFunction.m " : [ ydelse1 , output2 ] = function minFunktion ( req_input1 , req_input2 , varargin ) parser = inputParser , ... parser.parse ( req_input1 , req_input2 , varargin { : } ) ; % din custom codeend
Kontrol for nødvendige indgange
nødvendige indgange skal have en bestemt værdi, mens valgfrie indgange kan indstilles til en standardværdi. Føj nødvendige indgange til din inputParser ved hjælp af " addRequired () "-metoden af inputParser klassen sammen med kontrol for gyldige værdier . Krævede og valgfrie indgange skal tilføjes i den rækkefølge , de vises i funktionskaldet
For eksempel: . Parser.addRequired (» req_input1 ' @ ischar ) % indgang 1 skal være en stringvalidInputs = {' æble ' "orange ' druer ' ananas ' }; parser.addRequired ( ' req_input2 ' @ (x ) enhver ( strcmp (x, validInputs ))) ;
Tilføj valgfrie indgange ved hjælp af" addOptional () " metode . Tilføj standardværdier som en ekstra argument. For eksempel : Hej
parser.addOptional ( ' opt_input1 «, 35 , @ IsNumeric )
Parametre
modsætning krævede og valgfrie indgange er parametre parret med en parameter navn og værdi i funktion opkald . For eksempel kunne kode for at behandle et billede indeholder parametre for bredde og højde , der indgår i funktionen opkaldet som : Hej
myImageFunction (..., ' højde ' , 256 ' bredde ' , 128) ; < br >
Rækkefølgen af parametrene er ligegyldigt , men de skal tilføjes , efter at alle krævede og valgfrie indgange. Parametre tilføjes til inputParser ved hjælp af " addParamValue ()" metoden
parser.addParamValue ( ' ParamName ' default_value , validator_code ) .
Validering Input Værdier < br >
Udover simple validatorer som " @ ischar " og " @ IsNumeric " komplekse validatorer kontrollere passende intervaller af input eller andre attributter .
myValidator = @ ( x ) IsNumeric (x ) && @ (x ) isa ( x, "dobbelt" ) && ( x > 100