下表显示,对于每个内置数值运算,在为用户类提供重载方法时要使用的相应函数名。
| 操作 | 方法 | 描述 |
|---|---|---|
a + b |
plus (a, b) |
二元加法 |
a - b |
minus (a, b) |
二元减法 |
+a |
uplus (a) |
一元加法 |
-a |
uminus (a) |
一元减法 |
a .* b |
times (a, b) |
逐元素乘法 |
a * b |
mtimes (a, b) |
矩阵乘法 |
a ./ b |
rdivide (a, b) |
逐元素右除 |
a / b |
mrdivide (a, b) |
矩阵右除 |
a .\ b |
ldivide (a, b) |
逐元素左除 |
a \ b |
mldivide (a, b) |
矩阵左除 |
a .^ b |
power (a, b) |
逐元素幂 |
a ^ b |
mpower (a, b) |
矩阵幂 |
a < b |
lt (a, b) |
小于 |
a <= b |
le (a, b) |
小于或等于 |
a > b |
gt (a, b) |
大于 |
a >= b |
ge (a, b) |
大于或等于 |
a == b |
eq (a, b) |
等于 |
a != b |
ne (a, b) |
不等于 |
a & b |
and (a, b) |
逻辑与 |
a | b |
or (a, b) |
逻辑或 |
!a |
not (a) |
逻辑非 |
a' |
ctranspose (a) |
复共轭转置 |
a.' |
transpose (a) |
转置 |
a:b |
colon (a, b) |
两元素范围 |
a:b:c |
colon (a, b, c) |
三元素范围 |
[a, b] |
horzcat (a, b) |
水平拼接 |
[a; b] |
vertcat (a, b) |
垂直拼接 |
a(s_1,…,s_n) |
subsref (a, s) |
下标引用 |
a(s_1,…,s_n) = b |
subsasgn (a, s, b) |
下标赋值 |
b(a) |
subsindex (a) |
将对象转换为索引 |
disp |
disp (a) |
对象显示 |
表34.1: 可用的重载运算符及其对应的类方法
多项式类的一个mtimes方法可能看起来像
function p = mtimes (a, b) p = polynomial (conv (double (a), double (b))); endfunction
版权所有 © 2024-2026 Octave中文网
ICP备案/许可证号:黑ICP备2024030411号-2