Порядок расчета для нескольких последовательных операций деления в один срок - PullRequest
0 голосов
/ 02 февраля 2020

Почему эта функция в Matlab g = @(x)(4*x^5-A)/5/x^4; соответствует g(x) = (4x^5-A)/5x^4, а не (4x^5-A)/(5/x^4)?

1 Ответ

2 голосов
/ 02 февраля 2020

Что вы наблюдаете, так это левая ассоциативность оператора деления. Возможно, нам следует сначала упростить пример, без анонимной функции, просто операторы:

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

На самом деле логической причины нет, но все языки программирования, которые я знаю, имеют математические операторы, такие как /, оставленные ассоциативными , * также остается ассоциативным, но обычно это не имеет значения. Когда дело доходит до порядка работы, также учитывайте приоритет .

...