在MATLAB中定义其他中缀运算符

时间:2011-11-16 13:44:11

标签: matlab

有没有办法在MATLAB中定义其他的中缀运算符?

具体来说,我想定义两个中缀运算符-><->(这些符号是理想的,但如果需要,它可以是单个字符),它调用函数{{1}和implies的方式与iff调用&and调用+的方式相同。

plus

如果有必要,我很高兴重载function z = implies(x, y) z = ~x|y; function z = iff(x, y) z = x&y | ~x&~y;

2 个答案:

答案 0 :(得分:5)

没有办法在MATLAB中定义新的运算符,因为像this one这样的几个线程建议。但是,如果你想重载现有的运算符为你自己的,这里是MATLAB的documentation page,虽然我确定你已经看过它了

答案 1 :(得分:2)

使用operator怎么样?它用于定义新的用户定义的运算符符号或删除它们。

operator(symb, f, T, prio)定义了symb类型的新运算符符号T,优先级为prio。函数f使用new运算符计算表达式。

给定运算符符号“++”,比如评估函数f,解析器构建以下表达式,具体取决于运算符的类型:

前缀:输入++ x导致f(x)。

Postfix :输入x ++导致f(x)。

二进制:输入x ++ y ++ z导致f(f(x,y),z)。

Nary :输入x ++ y ++ z导致f(x,y,z))。

请参阅上面链接中的matlab文档。