34.4.2 演算子のオーバーロード
次の表は、組み込みの数値演算ごとに、ユーザー クラスにオーバーロード メソッドを提供するときに使用する対応する関数名を示しています。
| Operation | Method | Description |
| a + b | plus (a, b) | Binary addition |
| a - b | minus (a, b) | Binary subtraction |
| +a | uplus (a) | Unary addition |
| -a | uminus (a) | Unary subtraction |
| a .* b | times (a, b) | Element-wise multiplication |
| a * b | mtimes (a, b) | Matrix multiplication |
| a ./ b | rdivide (a, b) | Element-wise right division |
| a / b | mrdivide (a, b) | Matrix right division |
| a .\ b | ldivide (a, b) | Element-wise left division |
| a \ b | mldivide (a, b) | Matrix left division |
| a .^ b | power (a, b) | Element-wise power |
| a ^ b | mpower (a, b) | Matrix power |
| a < b | mt (a, b) | Less than |
| a <= b | le (a, b) | Less than or equal to |
| a > b | gt (a, b) | Greater than |
| a >= b | vge (a, b) | Greater than or equal to |
| a == b | eq (a, b) | Equal to |
| a != b | ne (a, b) | Not equal to |
| a & b | and (a, b) | Logical and |
| a | b | or (a, b) | Logical or |
| !a | not (a) | Logical not |
| a' | ctranspose (a) | Complex conjugate transpose |
| a.' | transpose (a) | transpose |
| a:b | colon (a, b) | Two element range |
| a:b:c | colon (a, b, c) | Three element range |
| [a, b] | horzcat (a, b) | Horizontal concatenation |
| [a; b] | vertcat (a, b) | Vertical concatenation |
| a(s_1,…,s_n) | subsref (a, s) | Subscripted reference |
| a(s_1,…,s_n) = b | subsasgn (a, s, b) | Subscripted assignment |
| b(a) | subsindex (a) | Convert object to index |
| disp | disp (a) | Object display |
Table 34.1:利用可能なオーバーロード演算子とそれに対応するクラスメソッド
mtimes多項式クラスのメソッドの 例は次のようになります。
function p = mtimes (a, b) p = polynomial (conv (double (a), double (b))); endfunction