- a + b is associated with the plus(a, b) method.
- a - b is associated with the minus(a, b) method.
- a .* b is associated with the times(a, b) method.
- a * b is associated with the mtimes(a, b) method.
- a < b is associated with the lt(a, b) method.
- a == b is associated with the eq(a, b) method.
Object-Oriented Programming Onramp, Overloading Operators
2 ビュー (過去 30 日間)
古いコメントを表示
Hallo Harald,
meine Frage bezieht sich auf die Erläuterungen auf dieser Seite:
Mit x und y werden zwei Instanzen der Klasse foo erzeugt. Anschließend werden beide multipliziert. Wo wird die Information in der Tabelle (Zuordnung der Operatoren zu den Funktionen) hinterlegt?
Vielen Dank!
Lisa
0 件のコメント
採用された回答
Vandit
2024 年 6 月 17 日
Hello Elisabeth,
The information about how operators are associated with functions in MATLAB is part of MATLAB's object-oriented programming design. When you define a class, you can overload built-in MATLAB functions and operators for instances of that class by implementing methods with specific names. The table provided shows some of these associations:
In the context of the 'foo' class you provided, when you perform the operation z = x * y, MATLAB internally calls the "mtimes" method defined in your class (since * is associated with "mtimes"). This is because the "mtimes" method is specifically designed to handle the * operator for objects of your class. The "mtimes" method you've implemented in turn calls the "times" method (via the .* operator within the "mtimes" method), which performs element-wise multiplication of the 'Values' properties of the two 'foo' objects and returns a new 'foo' object with the result.
For a comprehensive listing of all MATLAB operators, symbols, and special characters, along with their corresponding functional equivalents, please refer to the following documentation:
Hope this helps.
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!