O zaokrąglaniu liczb we wzorach

(aktualnie rozpatrywany jest przypadek gdy wzory zawierają tylko mnożenie i dzielenie)
Ten rozdział jest może nieco nudnawy z racji dużej ilości obliczeń na liczbach. Ale wiedza tu zawarta jest dość unikalna, chyba warto się "przegryźć" przez omawiane tu problemy.

Powiązane rozdziały:

Odczytywanie i interpretowanie wzorów fizycznych |
O błędach pomiarowych

W tym rozdziale chciałbym poruszyć problem zaokrąglania liczb podstawianych do wzorów, a także zaokrąglania wyników obliczeń.

Pewno wiele osób nurtowało nieraz pytanie:

Czy wstawianą do wzoru liczbę lepiej jest zaokrąglić, czy też wpisać wszystkie dostępne cyfry?

Lub:
Do jakiego miejsca po przecinku zaokrąglić wynik obliczeń?

Kanwą do napisania tego rozdziału jest też e-mail jaki napisał do mnie Paweł. Poprosił mnie o recenzję jego rozwiązania pewnego zadania. Zadanie było bardzo łatwe od strony przekształceń na wzorach – miało tylko jeden wzór i wcale nie trzeba było go przekształcać, bo w swojej podstawowej wersji służy on od razu do obliczania szukanej wielkości. Wystarczy podstawić dane – trochę z tablic i trochę z tekstu zadania. Czyli – banał. Ale?...

Okazuje się, że przy okazji banalnego wstawiania danych do wzoru mogą pojawić się istotne pytania. I o nich będzie dalej. 
A na razie fragment tekstu Pawła:

fale.JPG (33055 bytes)
horyzont wiedzy jest niezmierzony - przy nim najbardziej bezkresny horyzont ludzkiego wzroku sięga nie dalej niż czubek nosa. 

„...na kartkówce z oddziaływań dostałem następujące zadanie:

Oblicz siłę grawitacji działającą między dwoma protonami znajdującymi się w odległości 20 cm od siebie.

Wziąłem się więc do pracy.

Uwagi od autora artykułu:

Najpierw wypisałem dane:
M
p = 1,6 ·10-27 kg

G = 6,673 ·10-11
r = 20 cm = 0,2 m

Paweł źle zaokrąglił masę protonu, bo wynosi ona 1.67239·10-27 kg, czyli powinna być zaokrąglona w górę – do 1,7·10-27

Wzór:  

Paweł zastosował skrót myślowy, ponieważ m1 = m2 = Mp. 
Jeśli to uwzględnimy, to nasz ostateczny wzór do podstawień ma postać:
- i jest to ostateczny wzór do którego są podstawiane dane..

Zacząłem podstawiać do wzoru:

F = 6,673·10-11·64·10-54

F  = 427,072·10-65 N  bo (ze wzoru jednostkowego):

Natomiast druga wersja różni się tylko dokładnością podstawienia G:

G = 6,67·10-11

Rozwiązanie:

  
Czy oba rozwiązania są prawidłowe?

Koniec tekstu Pawła. 

Teraz będzie dłuuuugi komentarz.

W tym co Paweł napisał widać kilka rzeczy – po pierwsze: na pewno rozumie, jakie liczby podstawić i do jakiego wzoru. Prawidłowo podstawił do wzoru za m1 i m2 masę protonu. Paweł umie też przekształcać potęgi (w oryginalnym mailu był błąd w zapisie obliczeń, ale wyglądający ewidentnie na pomyłkę „w druku”).
Jedno czego Paweł raczej nie wie, to tego jaką dokładność mają jego dane i jak te dane wpływają dokładność wyniku.

Dlatego najpierw postawmy sobie pierwsze bardzo istotne pytanie:

Jaką dokładność mają dane w tym zadaniu?

Zacznijmy od podanego promienia: r = 20 cm.

Pozornie nie posiadamy żadnych danych, które umożliwiłyby nam określenie dokładności tej liczby. Czyżby więc odległość wynosiła dokładnie 20 cm i ani mikrona więcej?
- Jednak nie (dlatego napisałem słówko "pozornie")

- Ja wyciągam z powyższego zapisu wniosek, że rozpiętość wartości tej danej wynosi w rzeczywistości 1 cm. Dlaczego?
- Bo liczba została zaokrąglona do dwóch cyfr – teraz jest 20 cm. 

Ktoś powie: A może nie była wcale zaokrąglana (co oznacza, że wynosi 20,00(0)...?
Oczywiście jest taka szansa, choć w przypadku liczb pochodzących z realnych pomiarów prawdopodobieństwo wystąpienia takiego przypadku wynosi zero. Jedynie w dla liczby "wymyślanych z głowy" możliwa jest podobna dokładność. Ponieważ jednak fizyk zazwyczaj posiada w swoich obliczeniach liczby realne, a nie wymyślone, więc odniosę się do przypadku, gdy 20 cm zostało zaokrąglone.

A ile było przed zaokrągleniem?
Chwila zastanowienia doprowadzi do wniosku, że wartością startową mogły być wszystkie liczby większe od 19,5, ale mniejsze niż 20,49999... (w przypadku starej metody zaokrąglania 5 tki w górę),
lub mniejsze niż dokładnie 20,5 (w przypadku aktualnie najczęściej stosowanej reguły zaokrąglania do najbliższej parzystej),
Można by więc zapisać, że  w istocie r = 20 cm ± 0,5 cm
Cały zakres w którym zawiera się nasze rzeczywiste r - od 19,5 do 20,5 to zakres 1-centymetrowy. Stąd wnioskować, że dokładność r wynosi 2,5% (jedna czterdziesta).

Ktoś mógłby powiedzieć – ale może w istocie ta dana jest dokładniejsza?
- Ale wtedy osoba ją przekazująca powinna to zasugerować podając ją np. w postaci:
20,000 cm, lub 20 cm ± 0,001 cm.
Jak widać wypisanie nieznaczących zer, choć nie zmienia samej liczby, jest ważną wskazówką co do jej dokładności. Bez tego wnioskuję o dokładności – jak wyżej.

Popatrzmy na kolejne dane:

G = 6,673 ·10-11

Tutaj Paweł wypisał aż 4 cyfry znaczące. Bez znajomości dokładnej wartości tablicowej możemy tylko wnioskować, że ostatnia cyfra (3) z wypisanych czterech cyfr znaczących jest „niepewna” na poziomie od 0,0025 ·10-11 do 0,00349999 ·10-11... .

Dokładność procentowa podania stałej G wynosi zatem 0,0005 dzielone przez 6,67, czyli 0,00007 (czynnika 10-11 nie uwzględniamy bo i tak się skraca). Jest to błąd procentowy zdecydowanie poniżej promila, czyli znacznie mniejszy niż błąd dla odległości r.

Teraz dokładność masy (poprawmy tu od razu błąd Pawła i zaokrąglijmy poprawnie):

Mp = 1,67239·10-27 kg ≈ 1,7·10-27 kg

Tutaj możemy wręcz obliczyć dokładność zaokrąglenia – od 1,7 do wartości dokładnej 1,67239 jest ok. 0,028, co po podzieleniu przez 1,7 da nam 0,016 – błąd zaokrąglenia jest na poziomie 1,6% (dziesięć do potęgi -27 przy dzieleniu znowu się skraca więc ten czynnik od początku nie był uwzględniany).

Ustaliliśmy jako tako dokładność danych. Jednak to nie koniec problemu. Bo pojawia się tu pytanie:

Która liczba na największy wpływ na dokładność wyniku?

Myślę, że chwila zastanowienia się doprowadzi nas niechybnie do wniosku, że:

DECYDUJE NAJMNIEJ DOKŁADNA DANA!

Co z tego, że w pewnym wzorze dla jakiejś tam wartości biedzimy się nad piątym miejscem po przecinku, jeśli dla innej danej w tym wzorze niedokładna jest już pierwsza cyfra? Potem będziemy te liczby mnożyć przez siebie (i dzielić). I jeżeli jeden ze składników iloczynu "waha" się od 1,2 do 1,3, to oczywiście cały wynik też się będzie "wahał" w podobny sposób w jego "takt". A to, że inna dana się prawie nie "waha", to nie poprawia nam niestety problemu ostatecznej dokładności wyniku. 
Bo dokładności danych „zepsutych” przez jedną liczbę we wzorze nie da się naprawić inną bardzo dokładną liczbą. To są twarde prawa matematyki.

Dlatego w naszym przypadku, na pewno nie ma sensu podstawiać do wzoru tak dokładnej wartości G (dokładnej jak to zapisano wyżej) – wystarczyłaby np. dokładność 10 – krotnie mniejsza.

A masa protonu Mp – jaki ma wpływ na błąd?

- Błąd na poziomie 1,6% wobec 2,5% najmniej dokładnej danej to właściwie też już „coś”. Dlatego być może w bardzo dokładnych badaniach w podobnych obliczeniach należałoby zaokrąglić tę masę nieco precyzyjniej – do 1,67·10-27 kg. Ale już na pewno nie bardziej – bo i tak decyduje ta najmniej dokładna dana - czyli w tym wypadku r.

Ale to niestety, jeszcze nie koniec problemów...

Muszę tu wspomnieć jednak o jeszcze jednej ważnej sprawie – pewnej mojej (świadomej – bo nie o wszystkim da się powiedzieć na raz) nieścisłości. W rzeczywistości, znaczenie błędów wstawianych wartości jest dla tego wzoru jest trochę bardziej skomplikowane, niż to wyżej napisano. A wszystko za przyczyną potęg.

Problem w tym, że liczb w naszym wzorze nie możemy traktować równoprawnie – masa protonu – jest wzięta do kwadratu. I promień – też jest wzięty do kwadratu.

A to powoduje, że znaczenie błędu wielkości ich odpowiadających podwaja się (w przypadku wyrażenia zawierającego wyłącznie dzielenia i mnożenie znaczenie błędu mnoży się przez wykładnik potęgi). Zatem dla wyniku końcowego nasze błędy będą już inne:

Liczba - dana Potęga we wzorze Błąd procentowy Ważność błędu procentowego dla wyniku końcowego
r = 20 cm 2 2,5% 2·5%=5 %
G = 6,673 ·10-11 Nm2/kg2 1 0,007 % 0,007 %
Mp =1,67239·10-27 kg ≈ 1,7·10-27 kg 2 1,6% 2·1,6%=3,2 %

Jak z tego widać, trzeba oszacować błąd wyniku jako większy niż 5%. Oznacza to, że ostatecznie nie ma sensu podawać więcej niż 2 cyfry znaczące wyniku, bo druga z nich jest już i tak w znacznym stopniu niepewna.

Liczby, które są podnoszone do potęgi należy podstawiać do wzoru z większą dokładnością, aby przez podniesieniu błędu do potęgi nie spowodować wzmocnienia jego roli. 

Oczywiście wiele osób cały czas gnębi wątpliwość:
A może jednak?...
A może jednak „lepiej” byłoby podać w wyniku więcej cyfr z obliczeń?... Przecież to „nie zaszkodzi”, jak ktoś będzie ich więcej miał, nawet jeśli są trochę niedokładne (w razie czego niech sobie sam zaokrągli - jak "chce")?...

A właśnie że zaszkodzi!!!
Nie należy podawać więcej cyfr znaczących wyniku, niż tyle, ile rzeczywiście ma sens!
Podawanie wyniku dokładniej, niż to ma miejsce w rzeczywistości, jest błędem!

Bo jeśli ktoś znający się na rzeczy zacznie wyciągać wnioski na temat dokładności z ilości cyfr podanej mu liczby (właśnie tak jak to opisano przy okazji omawiania dokładności promienia r), to będą one nieprawidłowe.

Czyli:
Wypisując zbyt dużą ilość cyfr znaczących w wyniku wprowadzamy czytającego w błąd co do dokładności danych!

Poprawne jest zaokrąglenie wyniku końcowego tylko do tej cyfry, która jest już niepewna, ale jeszcze „z grubsza” określona. Podawanie większej ilości cyfr nie będzie oznaczało większej rzetelności i dokładności, lecz odwrotnie! – będzie oszukiwaniem czytającego - sugerowaniem mu, że wynik jest dokładniejszy niż to jest w istocie. I jest to jednocześnie dawanie świadectwa własnej ignorancji dotyczącej podawania danych.

Jak podawać poprawnie wyniki?

Z grubsza można przyjąć regułę, że wynik podajemy z dokładnością tylu cyfr znaczących aby dojść do pierwszej która jest już niedokładna (ale jeszcze coś tam do naszej wiedzy o wyniku wnosi).  W naszym wypadku najmniej dokładne było podanie odległości – dwie cyfry znaczące. I do tylu cyfr znaczących należałoby zaokrąglić wynik.

Tak więc, chociaż z kalkulatora odczytałem liczbę:

F = 4,665908926660825 ·10-63  

to moim wynikiem jest

  F = 4,7 ·10-63  
- Są tylko dwie cyfry znaczące i potęga.

Wyniki podane przez Pawła:

F  = 427,072·10-65 N
i
F  = 425·10-65 N

wykazują za to wyraźnie co się dzieje, gdy źle zaokrąglamy liczby we wzorach.

  1. oba wyniki Pawła są różne - co w pewnym stopniu wynika z tego, że zaokrąglone zostały inaczej dane wejściowe, a dodatkowo inaczej (z inną dokładnością) został zaokrąglony wynik końcowy. Różnią się one też od obliczonej przez mnie wartości. 
    Dlaczego aż tak bardzo?  - przecież przy zmianie wartości podstawienia G na poziomie 0,04 % (o tyle się różnią te podstawienia), wynik powinien też różnić się o te 0,04%. 
    - bo dodatkowo, w trakcie przekształceń, w drugim przypadku liczby zostały zaokrąglone tylko do dwóch cyfr znaczących (pozostawiam prześledzenie tych przekształceń czytelnikowi) - automatycznie wygenerowało to błąd zaokrąglenia na poziomie zbliżonym do 1%, co w istocie miało znacznie większy wpływ na rozbieżność wyników niż zaokrąglenie przy podstawianiu.
  2. wyniki Pawła dodatkowo różnią się od wartości obliczonej prawidłowo, ze względu na źle zaokrągloną wartość masy protonu (1,6 zamiast 1,7 - co daje błąd na poziomie 6%, wymnożone z racji potęgi przez 2 daje 12%, zaś 12% z  4,7  to już ok. 0,5 - co świetnie tłumaczy różnicę w wynikach). A jako że to błędne zaokrąglenie sięgało drugiej cyfry znaczącej, to i ostateczny błąd wyniku jest wyraźny i uwidacznia się na poziomie 2 cyfry znaczącej.

Warto zaznaczyć, że w wynikach Pawła, trzecia cyfra znacząca w tych wynikach i tak jest...
...nieznacząca, bo już zupełnie niedokładna - można powiedzieć, że jest ona tam całkiem przypadkowa. I dlatego rozbieżnością wyników na tym miejscu po przecinku nie należy się już martwić.

Uwaga odnosząca się do samego zapisu liczb z potęgami

Podawanie liczb zawierających mnożenie przez 10 do potęgi powinno spełniać pewien przyjęty przez fizyków standard:
– Podaje się tylko jedną cyfrę przed przecinkiem (oczywiście mowa tu o cyfrze różnej od 0) 
– I za nią 10-tkę z odpowiednią potęgą. 

Zawsze przekształcić zapis liczby w ten sposób, bo „10 do potęgi ...” może „wchłonąć” dowolne przesunięcie przecinka w liczbie poprzedzającej potęgę dziesiątki.

Dzięki takiemu zapisowi liczb, łatwo jest je porównywać - nie musimy pracowicie liczyć zer przed, czy po przecinku, ale patrzymy na wykładniki - jeśli się różnią, to już wiadomo, która liczba jest większa, a jeśli są takie same, to wszystko widać po liczbie występującej przed potęgą dziesiątki.

Recepta na prawidłowe podstawianie liczb do wzorów i wykonywanie przekształceń

Zbierzmy wnioski, które nasunęły się przy analizie rozwiązania Pawła. Przedstawię je w postaci dość uproszczonych zasad związanych z podstawianiem liczb do wzorów, wykonywaniem przekształceń i prezentacją wyniku końcowego.

Sposób postępowania w przypadku gdy we wzorze są jedynie działania mnożenia i dzielenia i gdy chcemy osiągnąć maksymalną dokładność wyniku końcowego:

  1. ustalamy ilość cyfr znaczących wszystkich danych
  2. mając różne dane (liczby), które będziemy podstawiać do wzoru, znajdujemy tę, która jest najmniej dokładna.
  3. Ilość cyfr znaczących najmniej dokładnej liczby wyznacza nam absolutnie dokładność wyniku końcowego i jest wskazówką jak zaokrąglać pozostałe liczby. Nazwijmy tę ustaloną ilość cyfr przez N.
  4. pozostałe liczby podstawiane do wzoru zaokrąglamy do postaci zawierającej o jedną cyfrę znaczącą więcej (N + 1). Jeżeli potęga liczby we wzorze przekracza 3, to należałoby wziąć nawet (N+2) cyfr znaczących, bo błędy zaokrąglenia rosną przy potęgowaniu.
  5. liczby jakie otrzymujemy na pośrednich etapach obliczeń też zaokrąglamy do (N + 1) cyfr znaczących, aby nie wygenerować dodatkowego błędu zaokrąglenia.
  6. Wynik końcowy przestawiamy już jednak z dokładnością do N  cyfr znaczących (ostatecznie więc obcinamy tę jedną cyfrę znaczącą, która nam się ciągnęła przez przekształcenia) - jeśli jego pierwsza cyfra jest większa od 5. Podobnie do N cyfr znaczących można zaokrąglić wynik już bez względu na jego wartość, gdy początkowa najmniej dokładna liczba danych zaczynała się o od 1.
    W przypadku gdy pierwsza cyfra wyniku jest mniejsza od 5 należy pozostawić (N+1) cyfr znaczących.

W ten sposób szansa, że coś "uronimy" z dokładności danych jest minimalna, jako że wykonujemy działania i tak z nadmiarową dokładnością. Jednocześnie nie będziemy męczyć się nadmiarem cyfr do przeliczeń i nie wprowadzimy w błąd osoby odczytującej nasz wynik.

Oczywiście czasami jest tak, że nasza oczekiwana od wyniku dokładność jest mniejsza niż ta, którą możemy osiągnąć. Wtedy już wcześniej można zmniejszyć dokładność przekształceń, dostosowując ją do zamierzonego celu.  

Przykład:

Dane są trzy liczby:

X=1234,456 
Y = 345,7
Z=9,23

Mamy je podstawić do wzoru:

= XY2 Z

  1. ustalamy ilość cyfr znaczących danych:
    X=1234,006 (7 cyfr znaczących)
    Y = 345,69  (5 cyfr znaczących)
    Z=9,23  (3 cyfr znaczące)
  2. Ustalamy, że najmniej cyfr znaczącym ma liczba Z - ma 3 cyfry znaczące (N = 3). Zatem pozostałe cyfry zaokrąglimy do 3 + 1 = 4 cyfr znaczących:
    X = 1234 
    Y  = 345,7
  3. podstawiamy do wzoru:
    = 1234 ∙ 345,72 ∙ 9,23
  4. obliczamy zaokrąglając pośrednie wyniki do 4 cyfr znaczących
    W = 1234 ∙ 119508,49 ∙ 9,23
    W = 1234 ∙ 119500∙ 9,23
    W = 147463000∙ 9,23
    W = 147500 000∙ 9,23
    = 1361083490
  5. wynik końcowy zaokrąglamy do 4 cyfr znaczących, czyli zapisujemy jako:
    = 1 361 000 000
    lub W = 1,361 ∙ 109

Oczywiście jeżeli i tak wykonujemy obliczenia na kalkulatorze, to nie musimy za każdym razem po kolei zaokrąglać wyników cząstkowych (można wtedy zaokrąglać liczby dopiero tam, gdzie jest to wygodne). Ważne jest, aby wszędzie tam gdzie się ten wynik cząstkowy pojawia, nie zmniejszyć jego dokładności, ani też nie męczyć się z nawałem niepotrzebnych, w rzeczywistości nic nie znaczących cyfr.

Na koniec zastrzeżenie!

Powyższe rozważania odnosiły się wyłącznie do wzorów zawierających tylko działania mnożenia i dzielenia (podnoszenie od potęgi można potraktować jako wielokrotne mnożenie lub dzielenie). Jednak jeśli wzór zawiera sumy, różnice, funkcje trygonometryczne, logarytmy i inne matematyczne komplikacje, to opisane tu proste reguły przestaną być słuszne.
W szczególności w przypadku dodawania i odejmowania liczb decyduje nie ilość cyfr znaczących, ale miejsce po przecinku (lub przed przecinkiem), na którym znajduje się ostatnia dokładna cyfra najmniej dokładnej danej. Jednak o dokładności sum i różnic będzie w innym artykule.

 

Patrz także:

Odczytywanie i interpretowanie wzorów fizycznych
 O zapisie naukowym liczb