Fejl i regneark kan få alvorlige konsekvenser, hvis fejlene ikke bliver identificeret med det samme.

Fejl i Excel og OpenOffice giver forkerte resultater


Publiceret d. 17. november 2009 kl. 13.13 | Antal kommentarer (38)


Annonce:
 
ANNONCE:
 
 
 
Normalt forventer folk, at computeren kan foretage beregninger bedre end dem selv.

Men det er en fejl at forlade sig på de resultater, som diverse regneprogrammer, herunder Microsoft- programmet Excel, kommer frem til.

For regneprogrammer kan nemlig ikke altid regne rigtigt, når det drejer sig om decimaltal. Det skriver en læser til Computerworld.

Hvis man eksempelvis skriver og lægger følgende tal sammen i et Excel-regneark:

+22500,24
-254,24
-22500,24
+127,12
+127,12

... så giver resultatet ikke et stort rungende 0, som ville være korrekt, men derimod et meget lille decimaltal, der er -1,59161573*10^-12.

Det er muligt at genskabe fejlen og andre lignende eksempler i alle tre regnearksprogrammer, som Computerworld har testet.

Både OpenOffice, Google Spreadsheet og Microsoft Excel udfører beregningsfejl, når man forsøger at tage summen af positive og negative decimaltal.

Fejlresultatet afhænger også af, i hvilken celle de forskellige data står. Hvis samme data optræder i en anden rækkefølge, kan summen af alle tallene give et helt andet forkert resultat.

Maskinsprog er forklaringen
Jon Sporring, lektor ved Datalogisk Institut på Københavns Universitet (DIKU), mener, at fejlen skyldes, at tallene først skal konverteres til maskinsprog, før computeren beregner tallene.

Efter beregningen kan der derefter komme unøjagtigheder, når det endelige resultat vises.

"Et af de mest kendte eksempler med en unøjagtig repræsentation af et tal er tallet pi. Her er det antallet af bits, som maskinen opererer med, som afgør, hvordan et tal kan blive repræsenteret," forklarer Jon Sporring.

Computeren regner med andre ord internt i binært format.
Et tal, der er repræsenteret i binært, kan godt bestå af mange flere et-taller og nul-taller end computeren kan håndtere. Specielt er der problemer med decimaltal, der kan være svære for regnearket at repræsentere.

Selvom fejlene er mikroskopiske afvigelser fra det korrekte resultat, kan det dog få fatale følger, hvis ingeniører og forskere ikke er opmærksomme på fejlene.

"Hvis vi skal beregne, hvilke kræfter der er i en bro, så den ikke styrter sammen, er det vigtigt at sikre os, at unøjagtigheden af disse beregninger ikke eksploderer. Vi kan ikke bruge vores regneark hjernedødt," siger Jon Sporring.

Lektor Jon Sporring forklarer, at de datalogistuderende på DIKU får kendskab til problemet på andet år, og at det er helt essentielt for uddannelsen at forstå, hvad grunden til fejlen er.

Problemet består i, at de fleste regneark vælger at bruge 'floating point'-metoden til at repræsentere decimaltal på.

I matematikprogrammer som Maple og Matlabs kan brugeren derimod vælge at bruge andre måder, som computeren kan repræsentere decimaltal på.

Fortsættes ...
« forrige side
1 2






Kommentarer - Debatoversigt


Fejlen er ikke at finde på OpenOffice 3.0
7 indlæg

virker fint
4 indlæg

Virker fint i OO 3.01 på Ubuntu
2 indlæg

Zoho giver 0 (men ved ikke med decimaler)
1 indlæg

Mac'en regner korrekt
3 indlæg

Fejl eller egenskab?
3 indlæg

Hvad enhver udvikler bør vide om floating-point
1 indlæg

Sigmaplot har den også!
1 indlæg

Datofejl
3 indlæg

Mathematica7_Beregningsfejl
2 indlæg

Gammel historie igen-igen. Utroligt.
1 indlæg

Ikke en regnefejl
5 indlæg

"Maskinsprog"?
1 indlæg

Støj på linjen
1 indlæg

Nemt at omgå problem!
1 indlæg

Fejl
1 indlæg

Det løser nu ikke problemet
1 indlæg

Kommentér
Titel:

Ytringer på debatten er afsenders eget ansvar - læs debatreglerne

Forsiden lige nu

Her har du de mest banebrydende håndholdte computere gennem alle tider.
25. maj 2012 kl. 16.04 | læs »

Klumme: Angrebet fra Flashback viser, at Apple nu må tage sikkerheden på Mac alvorligt, skriver Shehzad Ahmad fra DK-CERT i sin månedlige klumme
25. maj 2012 kl. 14.30 | læs »

Overblik: Få overblikket over IBM Danmarks store fyringsrunde.
25. maj 2012 kl. 15.30 | (3) | læs »

Landbrugsorganisation er godt sur i skralden over, at landmænd i randområder skal bestille bredbånd hos konkursramt firma.
25. maj 2012 kl. 14.04 | (2) | læs »





 
White papers
Oracle Database 11g R2 udgør grundlaget, der gør det muligt for dig at yde en bedre service,...

Den moderne store virksomhed er konstant på udkig efter nye og effektive måder at fremme...

BluePhoenix tilbyder ved hjælp af modernisering den lette vej fra legacy til SOA. Legacy-systemer...

 


Mest læste seneste uge

Kan gratis sikkerhedssoftware virkelig beskytte din pc? Svaret er ja, hvis du vælger det rette produkt. Læs her en test af de mest pålidelige gratis sikkerhedsprogrammer.

Næsten 200 IBM-ansatte får med få timers varsel sidste arbejdsdag i dag. Ingen var orienteret forud for dagens massefyring, som effektueres øjeblikkeligt.

Flyselskabet SAS har brugt op mod trekvart milliarder kroner og seks år på at udskifte sit bookingsystem. Undervejs har der været flere projekt-udfordringer, som kulminerede en vinternat med en big bang-migrering.

Her er forklaringen på, at IBM Danmark med direktør Lars Mikkelgaard-Jensen i spidsen fyrer 170 medarbejdere.

IBM Danmark lader hovederne rulle.