Mod funkcija v MATLAB-u

Včasih je med izračunom delitve preostanek bolj zanimiv kot celoštevilski količnik. Na primer, če delite 17 s tri, bi bilo morda pomembnejše vedeti preostanek dveh kot celoštevilski količnik pet. Ena od tisoč vgrajenih funkcij v matematični program MATLAB je "mod" ukaz, okrajšava za "modulus". Funkcija "mod" neposredno izračuna preostanek delitve delovanje.

Primer moda

Recimo, da ima Janez 17 jabolk in jih želi čim bolj enakomerno razdeliti med njega in dva prijatelja, tako da imajo vsi enako število jabolk. Koliko jabolk bo ostalo? Rešite težavo s to eno vrstico kode MATLAB:

Video dneva

Mod (17,3)

MATLAB prebere kodo, deli 17 s tri in pove Johnu, da bosta ostali dve jabolki.

Mod proti Rem

Tesno povezana funkcija z "mod" je MATLAB-ova funkcija "rem", okrajšava za "remainder". Možno past za napačno uporabo funkcije "mod" je, da odgovor vedno ohranja predznak delilec. na primer

Mod (-17,3)

vrne pozitivna dva, ker je tri pozitivna. Če izračun delitve zahteva pravilen predznak na odgovoru, uporabite "funkcijo rem" takole:

Rem (-17,3)

V tem primeru bo MATLAB izpisal negativni dve.

Nekaj ​​pravil modifikacije

Obstaja nekaj pravil, ki bi jih uporabnik MATLAB-a moral poznati pri uporabi funkcije "mod", od katerih večina izhaja iz osnovnih pravil delitve:

Prvič, "mod (X, 0)" vrne "X" namesto napake. Drugič, "mod (X, X)" vrne "0." Tretjič, "mod (X, Y)" bo imel isti predznak kot "Y", dokler "X" in "Y" nista enaka in "Y" ni nič. Nazadnje sta "mod (X, Y)" in "rem (X, Y)" enaka, če imata "X" in "Y" isti predznak, drugače pa se razlikujeta za "Y".

Uporabite za skladnost

V modularni aritmetiki sta dve števili "kongruentni mod n", če imata pri deljeni z "n" enak ostanek. Drug način, da to rečemo, je, da po tem, ko enemu številu dodate ali odštejete večkratnike "n", lahko končate pri drugi. Na primer, 6.00 in 18.00. so "kongruentni mod 12", ker dodajanje 12 enemu povzroči drugega. Pretvorba ob 18.00 do 1800 v vojaškem času, naslednja koda oceni kot "true" in dokaže njihovo skladnost z uporabo ukaza "mod" MATLAB-a:

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