Функція Mod в MATLAB

Іноді під час обчислення поділу залишок представляє більший інтерес, ніж ціле приватне. Наприклад, при діленні 17 на три залишок двох може бути важливішим, ніж ціле приватне від п’яти. Однією з тисяч вбудованих функцій математичного програмного забезпечення MATLAB є «мод» команда, скорочення від "модуль". Функція "mod" безпосередньо обчислює залишок від ділення операція.

Приклад мода

Припустимо, у Джона 17 яблук, і він хоче розділити їх якомога рівномірніше між ним і двома друзями, щоб у всіх була рівна кількість яблук. Скільки яблук залишиться? Вирішіть проблему за допомогою цього одного рядка коду MATLAB:

Відео дня

Мод (17,3)

MATLAB читає код, ділить 17 на три і каже Джону, що залишиться два яблука.

Мод проти Rem

Близько пов'язаною з "mod" функцією є функція "rem" MATLAB, скорочення від "remainder". Можливий Підводним каменем для неправильного використання функції "mod" є те, що відповідь завжди зберігає знак дільник. Наприклад,

Мод (-17,3)

повертає додатне два, тому що три додатне. Якщо обчислення поділу вимагає правильного знака у відповіді, то використовуйте «функцію rem» таким чином:

Rem(-17,3)

У цьому випадку MATLAB виведе негативне два.

Деякі правила мод

Існує кілька правил, які користувач MATLAB повинен знати при використанні функції "mod", більшість з яких випливають з основних правил поділу:

По-перше, "mod (X, 0)" повертає "X", а не помилку. По-друге, "mod (X, X)" повертає "0". По-третє, «mod (X, Y)» матиме той самий знак, що й «Y», доки «X» і «Y» не рівні, а «Y» не дорівнює нулю. Нарешті, «mod (X, Y)» і «rem (X, Y)» однакові, якщо «X» і «Y» мають однаковий знак, але відрізняються на «Y» в іншому випадку.

Використовуйте для конгруентності

У модульній арифметиці два числа є «конгруентними по моду n», якщо при поділенні на «n» вони мають однакову остачу. Інший спосіб сказати, що після додавання чи віднімання кратних «n» до одного числа ви можете отримати інше. Наприклад, 6 ранку та 6 вечора. є «конгруентними модом 12», оскільки додавання 12 до одного призводить до іншого. Перетворення 18:00 до 1800 за військовим часом, наступний код оцінюється як "істина" і доводить їх відповідність за допомогою команди "mod" MATLAB:

Мод (6,12)==Мод (18,12)