首页 > 解决方案 > 单项中多次连续除法运算的计算顺序

问题描述

为什么Matlab中的这个函数句柄g = @(x)(4*x^5-A)/5/x^4;对应 g(x) = (4x^5-A)/5x^4而不是(4x^5-A)/(5/x^4)

标签: matlabdivisionoperator-precedencefunction-handle

解决方案


您正在观察的是除法运算符的左结合性。也许我们应该先简化这个例子,没有匿名函数,只有运算符:

>> 5/5/5
ans =
    0.2000
>> (5/5)/5
ans =
    0.2000
>> 5/(5/5)
ans =
     5
>> 

背后没有真正的逻辑原因,但我知道的所有编程语言都有数学运算符,/如左结合。*也是左关联的,但通常无关紧要。当涉及到操作顺序时,还要考虑优先级


推荐阅读