Lattia- ja kattofunktio

Wikipediasta
Siirry navigaatioon Siirry hakuun
Lattiafunktio
Kattofunktio

Lattia- ja kattofunktio ovat kaksi matematiikassa ja tietojenkäsittelytieteessä käytettävää funktiota, jotka muuntavat mielivaltaisen reaaliluvun kokonaisluvuksi.[1]

Nimet "katto" (ceiling) ja "lattia" (floor) sekä vakiintuneet merkintätavat esitti ensimmäisenä Kenneth E. Iverson vuonna 1962. [2]

Lattiafunktio

[muokkaa | muokkaa wikitekstiä]

Lattiafunktio reaaliluvusta x, joka merkitään tai floor(x), palauttaa suurimman kokonaisluvun, joka on pienempi tai yhtäsuuri kuin x. Siis kaikille reaaliluvuille x pätee:

Esimerkiksi floor(2.9) = 2, floor(−2) = −2 ja floor(−2.3) = −3.

Positiivisilla luvuilla x funktiota floor(x) voidaan kutsua myös x:n kokonaislukuosaksi. Funktio (myös x mod 1) on x:n desimaaliosa.

Kattofunktio, jota merkitään tai ceil(x), palauttaa pienimmän kokonaisluvun, joka on suurempi tai yhtäsuuri kuin x. Siis kaikille reaaliluvuille x pätee:

Esimerkiksi ceil(2,3) = 3, ceil(2) = 2 ja ceil(−2.3) = −2.

Lattiafunktion ominaisuuksia

[muokkaa | muokkaa wikitekstiä]
  • Seuraava epäyhtälö on aina voimassa reaaliluvulle x :
  • Kun x ja n ovat positiivisia lukuja,
  • Lattiafunktio on idempotentti: .
  • Mille tahansa kokonaisluvulle k ja reaaliluvulle x,
  • Luvun x perinteinen pyöristäminen voidaan ilmaista tavalla: floor(x + 0,5)
  • Lattiafunktio ei ole jatkuva, vaan puolijatkuva funktio. Vakiofunktiona sen derivaatta on nolla jokaisessa pisteessä jotka eivät ole kokonaislukuja.
  • Jos x on reaaliluku ja n on kokonaisluku, pätee nx jos ja vain jos n ≤ floor(x).
  • Reaalilukujen x, jotka eivät ole kokonaislukuja, lattiafunktio voidaan esittää Fourier-esityksenä:
  • Jokaisen positiivisen kokonaisluvun k numeroiden määrä määritellään

Kattofunktion ominaisuuksia

[muokkaa | muokkaa wikitekstiä]
  • Voidaan näyttää, että
sekä
  • Jokaiselle kokonaisluvulle k pätee
  1. Ronald Graham, Donald Knuth ja Oren Patashnik. "Concrete Mathematics". Addison-Wesley, 1999. Chapter 3, "Integer Functions".
  2. Kenneth E. Iverson. "A Programming Language". Wiley, 1962.