Cześć
Napisałem algorytm obliczający formułę:
\(\displaystyle{ \sum_{n=1}^{n=10000} \frac{1}{ n^{2} } = \frac{ \pi ^{2} }{6}}\)
Pierwszy algorytm zlicza wartość \(\displaystyle{ \pi}\) w kolejności od \(\displaystyle{ n=1}\) do \(\displaystyle{ n=10000}\)
Drugi algorytm zlicza wartość \(\displaystyle{ \pi}\) w kolejności od \(\displaystyle{ n=10000}\) do \(\displaystyle{ n=1}\)
Powiedzcie mi proszę bo nie rozumiem. Czemu wyniki się różnią? Fakt, że nieznacznie, ale się różnią.
Pozdrawiam
zonta
[Obliczenia numeryczne] Czemu wyniki są różne?
[Obliczenia numeryczne] Czemu wyniki są różne?
Ostatnio zmieniony 17 paź 2012, o 13:27 przez Althorion, łącznie zmieniany 2 razy.
Powód: Temat umieszczony w złym dziale.
Powód: Temat umieszczony w złym dziale.
-
- Użytkownik
- Posty: 7330
- Rejestracja: 14 lut 2008, o 08:31
- Płeć: Mężczyzna
- Lokalizacja: Z Bielskia-Białej
- Podziękował: 6 razy
- Pomógł: 961 razy
[Obliczenia numeryczne] Czemu wyniki są różne?
Komputer lubi błądzić ze względu na ograniczenia formatem liczbowym. Kumulowanie błędów o ile pamiętam przemienne nie jest.
- Althorion
- Użytkownik
- Posty: 4541
- Rejestracja: 5 kwie 2009, o 18:54
- Płeć: Mężczyzna
- Lokalizacja: Wrocław
- Podziękował: 9 razy
- Pomógł: 662 razy
[Obliczenia numeryczne] Czemu wyniki są różne?
Możesz chcieć użyć dokładnej implementacji liczb wymiernych (dostępnej na przykład w ), w przeciwnym wypadku natykasz się na zaokrąglenia zmiennoprzecinkowe.
Jak to ujął mój znajomy: jeśli masz problem i chcesz go rozwiązać na floatach, to teraz masz już 1,9999999999 problemów.
Jak to ujął mój znajomy: jeśli masz problem i chcesz go rozwiązać na floatach, to teraz masz już 1,9999999999 problemów.