Ich habe eine Funktion, die mindestens zwei erforderliche Eingabeargumente hat. Abhängig vom Wert des zweiten Arguments könnte ein drittes Eingabeargument erforderlich sein. Ich frage mich, was ist der beste Weg, um eine robuste Funktion zu kodieren, die diese Anforderungen mit MATLAB Eingangsparser enthält?Parsen Sie sich gegenseitig ausschließende Eingabeargumente mit dem Eingabe-Parser von MATLAB
Die Funktion kann wie folgt aussehen:
function vout = test(ReqInpArg1, ReqInpArg2, varargin)
ReqInpArg2
kann die folgende Zeichenfolge Inhalt halten:
'cash'
'absHurdleRate'
'none'
Wenn der Benutzer cash
wählt, muss ein anderes Eingabeargument numCashTicker
als Teil von varargin
definiert werden, z. 'numCashTicker', 4
. Wenn absHurdleRate
ausgewählt wurde, muss ein anderer Eingabeparameter definiert werden, z. 'hurdleRate', 0.2
. Wenn dagegen none
gewählt wurde, muss keiner dieser Eingangsparameter definiert sein. In der Tat schließen sich numCashTicker
und hurdleRate
gegenseitig aus, d.h. sie müssen nicht gleichzeitig definiert sein. Wenn der Benutzer none
nicht ausgewählt hat, muss er eines der anderen varargin-Eingabeargumente definieren.
Was ist Best Practice/die beste Strategie, um diese Anforderungen zu implementieren?
Können Sie bitte ein Codebeispiel posten? Fragen Sie auch nicht nach der "besten Strategie", weil sie zu allgemein ist - präzisieren Sie sie. – Rotem