Funkcja modów w MATLAB

Czasami podczas obliczania dzielenia reszta jest bardziej interesująca niż iloraz całkowity. Na przykład przy dzieleniu 17 przez trzy pozostałe dwa mogą być ważniejsze niż iloraz całkowity równy pięciu. Jedną z tysięcy funkcji wbudowanych w matematyczny program MATLAB jest „mod” polecenie, skrót od „moduł”. Funkcja „mod” bezpośrednio oblicza resztę dzielenia operacja.

Przykład modyfikacji

Załóżmy, że Jan ma 17 jabłek i chce je jak najbardziej równomiernie podzielić między siebie i dwóch przyjaciół, aby wszyscy mieli taką samą liczbę jabłek. Ile jabłek pozostanie? Rozwiąż problem za pomocą tej jednej linii kodu MATLAB:

Wideo dnia

Modyfikacja (17,3)

MATLAB odczytuje kod, dzieli 17 przez trzy i mówi Johnowi, że zostaną dwa jabłka.

Mod kontra Rem

Ściśle powiązaną funkcją z „mod” jest funkcja „rem” MATLAB, skrót od „remainder”. Możliwe Pułapka na nieprawidłowe użycie funkcji „mod” polega na tym, że odpowiedź zawsze zachowuje znak dzielnik. Na przykład,

Mod(-17,3)

zwraca dodatnie dwa, ponieważ trójka jest dodatnia. Jeśli obliczenie dzielenia wymaga poprawnego znaku w odpowiedzi, użyj „funkcji rem” w ten sposób:

Rem(-17,3)

W takim przypadku MATLAB wypisze ujemną dwójkę.

Niektóre zasady modów

Istnieje kilka zasad, które użytkownik MATLAB powinien znać podczas korzystania z funkcji „mod”, z których większość wynika z podstawowych zasad dzielenia:

Po pierwsze, „mod (X, 0)” zwraca „X”, a nie błąd. Po drugie, „mod (X, X)” zwraca „0”. Po trzecie, „mod (X, Y)” będzie miał ten sam znak co „Y”, o ile „X” i „Y” nie są równe, a „Y” nie jest zerem. Wreszcie, „mod (X, Y)” i „rem (X, Y)” są takie same, jeśli „X” i „Y” mają ten sam znak, ale różnią się „Y” w przeciwnym razie.

Użyj dla zgodności

W arytmetyce modularnej dwie liczby są „przystającymi mod n”, jeśli podzielone przez „n” mają taką samą resztę. Innym sposobem na powiedzenie tego jest to, że po dodaniu lub odjęciu wielokrotności „n” do jednej liczby możesz skończyć na drugiej. Na przykład o 6:00 i 18:00 są „spójnym mod 12”, ponieważ dodanie 12 do jednego skutkuje drugim. Konwersja 18:00 do 1800 w czasie wojskowym, poniższy kod ocenia jako „prawda” i udowadnia ich zgodność za pomocą polecenia „mod” MATLAB:

Mod (6,12)==Mod (18,12)