Gibt es eine Möglichkeit, zusätzliche Infix-Operatoren in MATLAB zu definieren?
Genauer gesagt möchte ich zwei Infix-Operatoren definieren: ->
und <->
(diese Symbole wären ideal, könnten aber bei Bedarf ein einzelnes Zeichen sein), die die Funktionen implies
und iff
in aufrufen Auf die gleiche Weise, wie &
Aufrufe von and
und% von co_de% aufruft, ruft +
auf.
Ich bin froh, plus
bei Bedarf zu überladen.
Es gibt keine Möglichkeit, neue Operatoren in MATLAB als mehrere Threads wie dieser vorschlagen. Wenn Sie jedoch einen vorhandenen Operator für Ihre eigene Klasse überladen möchten, verwenden Sie MATLABs Dokumentationsseite , obwohl ich sicher bin, dass Sie es schon gesehen haben.
Was ist mit der Verwendung von operator
? es wird verwendet, um neue benutzerdefinierte Bedienersymbole zu definieren oder zu löschen.
operator(symb, f, T, prio)
definiert ein neues Operator-Symbol% co_de% vom Typ symb
mit der Priorität T
. Die Funktion prio
wertet Ausdrücke mit dem neuen Operator aus.
Gegeben sei das Operatorsymbol "++", mit der Evaluierungsfunktion f
, die folgenden Ausdrücke werden vom Parser abhängig vom Typ des Operators erstellt:
Präfix : Die Eingabe ++ x ergibt f (x).
Postfix : Die Eingabe x ++ ergibt f (x).
Binär : Die Eingabe x ++ y ++ z ergibt f (f (x, y), z).
Nary : Die Eingabe x ++ y ++ z ergibt f (x, y, z)).
Weitere Informationen finden Sie in der Matlab-Dokumentation im obigen Link.
Tags und Links matlab