|
| Hjælp søges omkring afrunding af decimalta~ Fra : Christian Andresen |
Dato : 29-11-01 16:15 |
|
Hej NG,
Jeg har et problem:
Jeg har nogle decimaltal med 2 decimaler, og disse skal afrundes til
decimaltal med 1 decimal. Hvordan afrundes følgende tal:
0,05 ?
-0,05 ?
jeg vil mene at de skal afrundes til henholdsvis 0,1 og -0,1, men en af mine
kollegaer siger at man altid runder mod positive tal, så hans afrunding er:
0,1 og 0,0.
Hvilken måde er den matematisk korrekte ?
mvh
Christian
| |
Henning Makholm (29-11-2001)
| Kommentar Fra : Henning Makholm |
Dato : 29-11-01 16:45 |
|
Scripsit "Christian Andresen" <mailto:username@domain.country>
> Hvordan afrundes følgende tal:
> 0,05 ?
> -0,05 ?
> Hvilken måde er den matematisk korrekte ?
Hvis de 0,05 betyder 0,05xxxx (hvor x'erne er flere cifre) og altså
står for "et sted mellem 0,05 og 0,06" er det matematisk korrekte at
runde af til 0,1 - uanset fortegnet.
I det tilfælde hvor det rent faktisk er eksakt 1/20 man skal runde af,
bliver man nødt til at beslutte sig for et princip i forvejen. Der er
ikke rigtig noget princip der kan udnævnes til at være DET matematisk
korrekte, men de mest nærliggende muligheder er:
a) Rund altid væk fra 0. Fordelen er at det er let at lære og passer
fint med princippet for 0,05xxxx.
b) Rund altid opad (mod plus uendelig). Det er ikke helt så let, men
giver en mere regelret opførsel, hvis nulpunktet for de tal man
afrunder er arbitrært (fx temperaturer i celcius eller
kortkoordinater).
c) Rund af så det sidste af de tilbageværende cifre bliver lige! Dvs
1/20 -> 0.0 men 3/20 -> 0.2. Dette princip opfører sig ens på
begge sider af 0, og er den bedste måde at forhindre at afrunding
af en række mellemresultater giver anledning til en systematisk
fejl i deres sum / gennemsnit.
--
Henning Makholm "They are trying to prove a hypothesis,
they are down here gathering data every season,
they're publishing results in peer-reviewed journals.
They're wrong, I think, but they are still scientists."
| |
Peter Makholm (30-11-2001)
| Kommentar Fra : Peter Makholm |
Dato : 30-11-01 10:33 |
|
Henning Makholm <henning@makholm.net> writes:
> c) Rund af så det sidste af de tilbageværende cifre bliver lige! Dvs
> 1/20 -> 0.0 men 3/20 -> 0.2. Dette princip opfører sig ens på
Den har jeg aldrig set før.
Vil det ikke bare svare til at man skalerer sine tal op med en faktor
2, regner på det, og skalerer dem ned igen bagefter.
Jeg kan ikke lige umidelbart se hvad det skulle ændre.
--
Når folk spørger mig, om jeg er nørd, bliver jeg altid ilde til mode
og svarer lidt undskyldende: "Nej, jeg bruger RedHat".
-- Allan Olesen på dk.edb.system.unix
| |
Henning Makholm (30-11-2001)
| Kommentar Fra : Henning Makholm |
Dato : 30-11-01 12:43 |
|
Scripsit Peter Makholm <peter@makholm.net>
> Henning Makholm <henning@makholm.net> writes:
> > c) Rund af så det sidste af de tilbageværende cifre bliver lige! Dvs
> > 1/20 -> 0.0 men 3/20 -> 0.2. Dette princip opfører sig ens på
> Den har jeg aldrig set før.
Det er en af de mulige afrundningsformer i IEEE-flydendetalsregning.
> Vil det ikke bare svare til at man skalerer sine tal op med en faktor
> 2, regner på det, og skalerer dem ned igen bagefter.
Nej. Reglerne tager sig kun af hvordan man runder når resultatet før
afrunding liger eksamt mellem to repræsenterbare tal. Måske skulle
jeg have givet flere eksempler:
[-½;½] rundes til 0
]½;1½[ rundes til 1
[1½;2½] rundes til 2
]2½;3½[ rundes til 3
og så videre.
--
Henning Makholm "I consider the presence of the
universe to be a miracle. The universe
and everything in it. Can you deny it?"
| |
|
|