Есть ли метод в matlab, эквивалентный методу С# Math.IEEERemainder
.
Подробности об этом методе можно найти здесь: Является ли Math.IEEERemainder(x, y) эквивалентным x% y?
Согласно спецификациям IEEERemainder:
3/2 should be -1
Однако метод Matlab mod(3,2)
возвращает 1 и rem(3,2)
также возвращает 1.
Правильной математической функцией будет xy*round(x/y)
. Единственное различие между этим выражением и Math.IEEERemainder
заключается в том, что значение x/y
находится на полпути между двумя целыми числами. В этом случае round(x/y)
округляется от нуля, а функция округления в Math.IEEERemainder
округляется до четного целого.
Функция может выглядеть так:
function out=IEEERemainder(x,y)
x-y.*round(x./y)
end
Math.IEEERemainder
в C #
mod
иrem
в MATLAB? Также стоит прочитать Отдел и модуль для компьютерных ученых