Mod-funktion i MATLAB

Nogle gange under en divisionsberegning er resten mere interessant end heltalskvotienten. For eksempel, når man dividerer 17 med tre, kan resten af ​​to være vigtigere at kende end heltalskvotienten på fem. En af de tusindvis af indbyggede funktioner i det matematiske softwareprogram MATLAB er "mod" kommando, forkortelse for "modulus". Funktionen "mod" beregner direkte resten af ​​en division operation.

Mod eksempel

Antag, at John har 17 æbler, og han vil dele dem så ligeligt som muligt mellem ham og to venner, så de alle har lige mange æbler. Hvor mange æbler bliver der tilbage? Løs problemet med denne ene linje MATLAB-kode:

Dagens video

Mod (17,3)

MATLAB læser koden, deler 17 med tre og fortæller John, at der bliver to æbler tilovers.

Mod versus Rem

En nært beslægtet funktion til "mod" er MATLABs "rem" funktion, forkortelse for "rest". En mulig faldgruben for forkert brug af "mod"-funktionen er, at svaret altid beholder tegnet på divisor. For eksempel,

Mod(-17,3)

returnerer positive to, fordi de tre er positive. Hvis en divisionsberegning kræver det rigtige fortegn på svaret, så brug "rem-funktionen" sådan her:

Rem(-17,3)

I dette tilfælde vil MATLAB udsende en negativ to.

Nogle Mod-regler

Der er en håndfuld regler, som en MATLAB-bruger bør kende, når han bruger "mod"-funktionen, hvoraf de fleste følger af grundlæggende regler for division:

For det første returnerer "mod (X, 0)" "X" i stedet for fejl. For det andet returnerer "mod (X, X)" "0". For det tredje vil "mod (X, Y)" have samme fortegn som "Y", så længe "X" og "Y" ikke er ens, og "Y" ikke er nul. Til sidst er "mod (X, Y)" og" rem (X, Y)" de samme, hvis "X" og "Y" deler det samme fortegn, men ellers adskiller sig med "Y".

Brug til kongruens

I modulær aritmetik er to tal "kongruent mod n", hvis de, når de divideres med "n", har den samme rest. En anden måde at sige det på er, at efter at have tilføjet eller subtraheret multipla af "n" til det ene tal, kan du ende ved det andet. For eksempel kl. 06.00 og 18.00. er "kongruent mod 12", fordi tilføjelse af 12 til den ene resulterer i den anden. Konvertering kl. til 1800 i militær tid, evalueres følgende kode til "sand" og beviser deres kongruens ved hjælp af MATLABs "mod" kommando:

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