Сравнение рациональных чисел в GNU / Octave независимо от числовой точности - PullRequest
0 голосов
/ 24 мая 2018

Интерпретатор Octave оценивает это выражение как ложное:

>> 2/3 + 1/6 == 5/6
ans = 0

причина

>> 2/3 + 1/6 - 5/6
ans =   -1.11022302462516e-16

Этого можно избежать с помощью функции rat (или rats) или приведениязначения, но в полученном выражении отсутствует четкое форматирование исходного:

>> all(rat(2/3 + 1/6) == rat(5/6))
ans =  1

>> single(2/3 + 1/6) == single(5/6)
ans =  1

При использовании Octave для обучения детей арифметике «грязные» переводы математических выражений бесполезны.

Можно ли выполнить какие-либо глобальные корректировки, чтобы оценить как true исходное выражение?

1 Ответ

0 голосов
/ 26 мая 2018

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

2//3+1//6 

5 // 6

...