Noggrannhetsförlust

Från testwiki
Hoppa till navigering Hoppa till sök

Noggrannhetsförlust, eller kancellation, är en typ av beräkningsfel, en noggrannhetsförlust som inträffar då två nästan lika tal som har fel subtraheras och kan uppstå på grund av avrundningar eller från fel i indata. Detta beror på att närmevärdet blir litet och att felen i de två talen adderas, man får alltså ett stort relativt fel.

Noggrannhetsförlust kan ske när datorer arbetar med flyttal då de ibland måste avrundas och således introducerar fel i talen. För att reducera förlusten av signifikanta siffror beroende på kancellation är det ibland möjligt att omformulera beräkningsuttrycken, genom så kallad omskrivning.

Exempel

När man ska beräkna 1cos(x) för små x så gäller att cos(x)1. Dessutom kan inte cosx beräknas exakt, vilket ger ett fel och alltså kancellation.

Det finns tre typer av omskrivningar för att undvika kancellation, i detta fall kan alla tre appliceras:

  1. Serieutveckling
    1cos(x)=1(1x22!+x44!...)=x22x424
    Förlängning med konjugatetMall:Särskiljning behövs
    1cos(x)=(1cosx)(1+cosx)(1+cosx)=1cos2x1+cosx=sin2x1+cosx
    Trigonometrisk formel
    1cos(x)=2sin2x2

Externa länkar