Definieren zusätzlicher Infix-Operatoren in MATLAB

8

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.

%Vor%

Ich bin froh, plus bei Bedarf zu überladen.

    
Sam Roberts 16.11.2011, 13:44
quelle

2 Antworten

5

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.

    
Phonon 16.11.2011, 15:17
quelle
2

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.

    
bla 01.01.2013 22:55
quelle

Tags und Links