关闭。这个问题是opinion-based .它目前不接受答案。
想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题.
6年前关闭。
Improve this question
不熟悉该语言的人可能会合理地期待 7%4
返回 3
,即 mod(7,4)
的结果,就像在许多其他语言中一样。相反,它返回 7
——“为什么会这样?”他/她可能会问...
最佳答案
为什么你应该合理地期待 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 使用 %
对于评论,但这不能说是它不将其用于模数的原因。我认为说它不使用的原因更公平%
因为取模是因为真的没有任何理由这样做。
关于matlab - 为什么 Octave 或 Matlab 不使用 %(百分比符号)作为模运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26524694/