Niepokonana pisze: 14 gru 2020, o 13:14
czyli to tak jakby jest to wzór z granicami tak jakby?
To stwierdzenie jest mocno nieprecyzyjne póki co. Bo formalnie jeszcze żadnej granicy nigdzie tu nie mamy. Wspólnym mianownikiem wypowiedzi
szw1710,
kinia7,
Dasioa11 i mojej jest to, że pierwiastki liczy się
jakimś algorytmem którego każdy następny krok pozwala na coraz lepsze odkrywanie dokładnej wartości
\(\displaystyle{ \sqrt{x}}\). To jak taki algorytm wygląda to już inna sprawa, a to jaki algorytm stosuje kalkulator to jeszcze inna kwestia implementacji algorytmu. Najprostsze algorytmy polegają po prostu na metodzie
chybił trafił ale można je tak sformalizować (metodą dzielenia przedziału) by były skuteczne i deterministyczne były zbieżne do wartości
\(\displaystyle{ \sqrt{x} }\). Są też metody pisemne w słupku
Kod: Zaznacz cały
http://www.deltami.edu.pl/temat/matematyka/algebra/2018/01/25/Pierwiastkowanie_pod_kreska/
oraz
Kod: Zaznacz cały
https://pl.wikipedia.org/wiki/Metody_obliczania_pierwiastka_kwadratowego
. To do poczytania jako ciekawostki. Twoje pytanie jest w ogóle dość skomplikowanym zagadnieniem w ogólność bo na początku piszesz:
Niepokonana pisze:Jedna rzecz mnie zastanawia od dawna. Wszyscy wiemy, jak się dodaje, odejmuje, potęguje.
Ale jakby się tak nad tym głębiej zastanowić to wcale nie jest to takie oczywiste. Skąd kalkulator wie ile to jest
\(\displaystyle{ \pi ^{ \sqrt{2} }}\) albo nawet
\(\displaystyle{ \sqrt{2} \cdot \sqrt{3} }\)? To nie jest wcale taki oczywiste. nawet samo mnożenie liczb niewymiernych nie jest banalne. Nie ma jakiejś (przynajmniej ja nie znam) interpretacji, że coś robimy
\(\displaystyle{ n}\) razy tak jak w
\(\displaystyle{ 2^4=2 \cdot 2 \cdot 2 \cdot 2}\) w liczbach niewymiernych. A skąd kalkulator wie ile to jest
\(\displaystyle{ \sin 57^{\circ}}\) albo
\(\displaystyle{ \lg_59}\)? Sprowadzić się to musi zawsze do dodawania bo tylko to komputer umie robić. A ogólne algorytmy mogą być bardzo dziwaczne. Przykładowo:
\(\displaystyle{ \sin x={\cfrac {x}{1+{\cfrac {x^{2}}{2\cdot 3-x^{2}+{\cfrac {2\cdot 3x^{2}}{4\cdot 5-x^{2}+{\cfrac {4\cdot 5x^{2}}{6\cdot 7-x^{2}+\ddots }}}}}}}}}\)
\(\displaystyle{ \log(1+z)={\cfrac {z}{1+{\cfrac {z}{2-z+{\cfrac {2^{2}z}{3-2z+{\cfrac {3^{2}z}{4-3z+\ddots }}}}}}}}}\)
Gdy
\(\displaystyle{ z=x^{n}+y}\)
\(\displaystyle{ {\sqrt[{n}]{z^{m}}}=x^{m}+{\cfrac {my}{nx^{n-m}+{\cfrac {(n-m)y}{2x^{m}+{\cfrac {(n+m)y}{3nx^{n-m}+{\cfrac {(2n-m)y}{2x^{m}+{\cfrac {(2n+m)y}{5nx^{n-m}+{\cfrac {(3n-m)y}{2x^{m}+\ddots }}}}}}}}}}}}}\)
to są przykładowe wzory które pozwalają przybliżyć niektóre funkcje jedynie za pomocą prostych działań które są algorytmiczne. Ogólnie to się nazywa ułamki łańcuchowe i chyba w kalkulatorach się tego nie stosuje (ale tego dokładnie nie wiem). Kalkulatory chyba mają wbudowane coś w rodzaju wzoru Taylora który też pozwala zwykle dość szybko określać wartość funkcji za pomocą prostych działań. Przykładowo przybliżoną wartość
\(\displaystyle{ \sqrt{10} }\) można wyznaczyć przybliżając go
\(\displaystyle{ \sqrt{9} }\) jako:
\(\displaystyle{ {\sqrt {10}}=\sum _{k=0}^{\infty }{\tfrac {f^{(k)}(9)(10-9)^{k}}{k!}}=\sum _{k=0}^{\infty }{\tfrac {f^{(k)}(9)}{k!}}\approx \sum _{k=0}^{N}{\tfrac {f^{(k)}(9)}{k!}}}\)
\(\displaystyle{ {\sqrt {10}}\approx {\sqrt {9}}+{\tfrac {1}{2{\sqrt {9}}}}-{\tfrac {1}{8({\sqrt {9}})^{3}}}+{\tfrac {3}{48({\sqrt {9}})^{5}}}=3+{\tfrac {1}{6}}-{\tfrac {1}{216}}+{\tfrac {1}{3888}}=3+{\tfrac {631}{3888}}\approx 3{,}162294238683127572016}\)
błąd takiego przybliżenia widać dopiero na piątym miejscu po przecinku. A są też metody które pozwalają na określenie na którym miejscu po przecinku pojawi się błąd, zatem mądry programista kalkulatora, który wyświetla nie więcej niż (powiedzmy)
\(\displaystyle{ 10}\) cyfr, wie jak napisać kod tak by wszystkie te cyfry były
prawdzie. A poza tym istnieją też ciekawe metody aproksymacji Padé w postaci funkcji wymiernej:
\(\displaystyle{ \sin(x)\approx {\frac {(12671/4363920)x^{5}-(2363/18183)x^{3}+x}{1+(445/12122)x^{2}+(601/872784)x^{4}+(121/16662240)x^{6}}}}\)
\(\displaystyle{ \exp(x)\approx {\frac {1+(1/2)x+(1/9)x^{2}+(1/72)x^{3}+(1/1008)x^{4}+(1/30240)x^{5}}{1-(1/2)x+(1/9)x^{2}-(1/72)x^{3}+(1/1008)x^{4}-(1/30240)x^{5}}}}\)
dające zaskakująco dobre przybliżenia (oczywiście lokalnie). Więc jak widać sprawa nie jest taka banalna. Ale większość tych metod można zalgorytmizować i napisać jako kod komputera. Co więcej większość tych metod jest od dawna znanych więc są dobrze zbadane i zwykle znany jest błąd jaki się popełnia. Więc można śledząc błąd pisać taki kod aby to co wyświetlamy na ekranie było pewne.
PS oczywiście nie wypisałem tego z głowy wszystkie te rzeczy można znaleźć w Internecie. Gównie odnośnikami z Wikipedii.