该语言的新手可能会合理地期望7%4
返回3
,即mod(7,4)
的结果,就像许多其他语言一样。相反,它返回7
- "为什么会这样?"他/她可能会问...
答案 0 :(得分:9)
为什么合理地希望7%4
返回3
? %
不是modulo operation的数学符号。如果您阅读维基百科的文章,您会发现尽可能多的语言使用mod
作为%
使用,因此Matlab在这里并不奇怪。它与您来自哪里的语言不同。
我 猜测 %
来自C和Matlab最初的目标是竞争'与Fortran而不是C. Fortran使用MOD
而不是%
。我认为你期望%
表示模数的唯一原因是因为C的影响而且the question of why modulo gets a special operator character in many languages更相关。例如,为什么模拟地板?还是超过绝对?
Matlab使用%
进行评论,但这并不能说是它没有将其用于模数的原因。我认为说它没有%
用于模数的原因更公平,因为它确实没有任何理由。
答案 1 :(得分:6)