Aproximační/iterační metoda výpočtu odmocnin

stepanm9908.03.2018 12:42 Nahlásit
Dobrý den,
měl bych kuriózní dotaz, zda někdo neví jak vypočítat n-tou odmocninu. Našel jsem babylonskou metodu výpočtu druhé odnocniny r=(r+n/r)/2 n-odmocňované číslo, r-hodnota odmocniny. Už nějaký čas zkouším vymyslet rovnici na stejném principu, zatím jsem na ni internetu nenarazil. Kdyby někdo náhodou věděl, buď jak efektivně nějakou vymyslet nebo jestli už někdo na něco podobněho v historii nepřišel, byl bych velmi potěšen :)

Odpovědi

Přidat odpověď ▾

Diskuze

Cenobita.08.03.2018 14:30 (Upr. 08.03.2018 23:47) Nahlásit
http://www.8bitu.cz/clanek/newtonova-babylonska-metoda-hledani-odmocniny/

x=(r+n/r)/2

x(1)=(x0+a/x0)/2
x0=1

x(1)=(1+2/1)/2=(3/2)=1,5 (1. krok)
x(2)=(3/2+2/(3/2))/2=(3/2 + 4/3)/2=(17/12)=1,4166666666666666666666666666667 (2. krok)
x(3)=(17/12+2/(17/12))/2=(3/2)=1,414215686274509803921568627451 (3. krok)
atd.

tyto problémy se dají velmi hezky vyřešit pomocí tzv. řad

Rozvineš funkci v Taylorovu nebo MacLaurinovu či jinou vhodnou řadu a pak si zvolíš počet vyhovujících členů.
Anonym Ketahuz08.03.2018 20:25 Nahlásit
Cenobito, co blábolíš o nekonečných řadách, když ani neznáš jejich definice, a přitom ani nedokážeš správně dosadit do babylonského vzorce?
Cenobita.08.03.2018 23:42 (Upr. 08.03.2018 23:57) Nahlásit
Taylorův rozvoj pro druhou odmocninu:

y=√x=x^(1/2); y(1)=1
y'=1/2*x^(-1/2); y'(1)=1/2
y"=-1/4*x^(-3/2); y"(1)=-1/4
y"'=+3/8*x^(-5/2); y"'=+3/8
y^(4)=-15/16*x^(-7/2); y^(4)=-15/16

√x = 1 + (1/2)/1!*(x-1) - (1/4)/2!*(x-1) + (3/8)/3!*(x-1) - (15/16)/4!*(x-1) + (105/32)/120*(x-1) + ...

Zkouška:

√x = 1 + (1/2)/1!*(x-1) - (1/4)/2!*(x-1) + (3/8)/3!*(x-1) - (15/16)/4!*(x-1) + (105/32)/120*(x-1) ...
√2 ≈ 1 + (1/2)/1*(2-1) - (1/4)/2*(2-1) + (3/8)/6*(2-1) - (15/16)/24*(2-1) + (105/32)/5!*(2-1)= 1,42578125 (to už vypadá nadějně)

https://www.wolframalpha.com/input/?i=taylor+series+%E2%88%9Ax

1/2 * 1/2 * 3/2 * 5/2 * 7/2 = 105/32
stepanm9909.03.2018 10:32 (Upr. 09.03.2018 10:45) Nahlásit
Zdravím, nejspíš jsem rovnici špatně interpretoval. Lepší by bylo ji pojmenovat jako funkci. Její princip je v tom, že se za "r" dosadí číslo, které by zhruba mohlo být výsledkem odmocniny. Výsledek (r+n/r)/2 se opět dosadí, a při každém výpočtu se zpřesní hodnota odmocniny. Takže:
(5+16/5)/2=4,1
(4,1+16/4,1)/2=4,0012195
...
(4+16/4)/2=4

edit:
pardon, neměl jsem od včerejška aktualizovanou stránku, kvůli rozepsané reakci. Děkuji za nápad použít k výpočtu nekonečné řady. Kouknu se, jestli s jejich pomocí půjde i n-tá odmocnina.
Přidat komentář do diskuze ▾