Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 21. 09. 2011 19:12

Tomaskocz
Příspěvky: 54
Reputace:   
 

arcsin pomocí +,-*,/

Ahojte. Chci zapsat arcsin, ale jen pomocí +,-,*,/. Našel jsem si na Wikipedii Taylorovu řadu, ověřil jsem si to v "BARTSCH Matematicke vzorce". Teď bádám nad tím, jak zapíši mocninu. Našel jsem způsob, jak zapíši pouze druhou mocninu pomocí sčítání.
Mám rozepsané na papíře několik možností, ale ani z jedné mi nic nevychází. Mohli by jste mě nasměrovat? Možná, že bych rád zavedl i nějakou heuristiku, pokud by to nebylo nad moje chápání. Děkuji.
http://upload.wikimedia.org/math/9/4/d/94daff233f164d1dc29960ba9098d6bc.png

Offline

 

#2 21. 09. 2011 19:21

LukasM
Příspěvky: 3274
Reputace:   193 
 

Re: arcsin pomocí +,-*,/

↑ Tomaskocz:
Já jsem asi hloupej, ale nějak jsem nepochopil co potřebuješ. Co se ti na té Taylorově řadě nelíbí (kromě toho že místo toho z má být x)?

Pokud chceš zapsat mocninu pomocí + - * /, doporučuji dělat to pomocí násobení, např. $x^3=x\cdot x\cdot x$, ale to předpokládám nebude to cos chtěl.

Offline

 

#3 21. 09. 2011 19:24

mák
Místo: Vesmír, Galaxie MD
Příspěvky: 864
Reputace:   61 
 

Re: arcsin pomocí +,-*,/

Vzorec je správně.
1. Zadáváš proměnou [x] v radiánech, to znamená 45° je pi/4, tj. 0.7853981633974483
2. Přesnost vzorce je omezená, od 0 do pi/4 je vynikající, pak rapidně klesá (musíš použít buď vyšší stupeň, což je velmi nevýhodné, nebo počítat jakoby z "druhé strany")


LibreOffice Verze: 7.6.6.3, Maxima 5.47.0 (SBCL)

Offline

 

#4 21. 09. 2011 21:53 — Editoval Tomaskocz (21. 09. 2011 21:59)

Tomaskocz
Příspěvky: 54
Reputace:   
 

Re: arcsin pomocí +,-*,/

potrebuji to jako iteraci do cyklu. Asi by to mělo patřit do algoritmy a programování co :-(

Offline

 

#5 21. 09. 2011 22:08 — Editoval Oxyd (21. 09. 2011 22:44)

Oxyd
Příspěvky: 614
Škola: MFF UK, teoretická informatika
Pozice: Student
Reputace:   31 
 

Re: arcsin pomocí +,-*,/

↑ Tomaskocz:

Předpokládám, že to nechceš vyhodnocovat jako řadu, ale jenom jako polynom nějakého stupně (tzn. chceš aproximaci) a chceš se při tom vyhnout neustálému počítání k-tých mocnin, že?

Normálně bych to převedl pomocí Hornerova schématu. Tzn. vytýkal bych x^2. Nějak takhle:

$x + \frac{1}{2} \cdot \frac{x^3}{3} + \frac{1 \cdot 3}{2 \cdot 4} \cdot \frac{x^5}{5} + \frac{1 \cdot 3 \cdot 5}{2 \cdot 4 \cdot 6} \cdot \frac{x^7}{7} \\
= x + x^2 \cdot \left( \frac{1}{2} \cdot \frac{x}{3} + \frac{1 \cdot 3}{2 \cdot 4} \cdot \frac{x^3}{5} + \frac{1 \cdot 3 \cdot 5}{2 \cdot 4 \cdot 6} \cdot \frac{x^5}{7} \right) \\
= x + x^2 \cdot \left( \frac{1}{2} \cdot \frac{x}{3} + x^2 \cdot \left( \frac{1 \cdot 3}{2 \cdot 4} \cdot \frac{x}{5} + \frac{1 \cdot 3 \cdot 5}{2 \cdot 4 \cdot 6} \cdot \frac{x^3}{7} \right)\right) \\
= x + x^2 \cdot \left( \frac{1}{2} \cdot \frac{x}{3} + x^2 \cdot \left( \frac{1 \cdot 3}{2 \cdot 4} \cdot \frac{x}{5} + x^2 \cdot \left( \frac{1 \cdot 3 \cdot 5}{2 \cdot 4 \cdot 6} \cdot \frac{x}{7} \right)\right)\right)$

Při vyhodnocování posledního výrazu ti stačí znát jenom x a x^2 (které si můžeš předpočítat) -- pak to vyhodnocovat postupně „zevnitř“ -- nejdřív závorku s x/7, tu přenásobit x^2, přičíst to s x/5, vynásobit x^2, přičíst to s x/3, vynásobit x^2, přičíst x, hotovo.

Edit: A ještě víc se toho dá vytknout:
$x + \frac{1}{2} \cdot \frac{x^3}{3} + \frac{1 \cdot 3}{2 \cdot 4} \cdot \frac{x^5}{5} + \frac{1 \cdot 3 \cdot 5}{2 \cdot 4 \cdot 6} \cdot \frac{x^7}{7} \\
= x + \frac{1}{2} \cdot x^2 \cdot \left( \frac{x}{3} + \frac{3}{4} \cdot \frac{x^3}{5} + \frac{3 \cdot 5}{4 \cdot 6} \cdot \frac{x^5}{7} \right) \\
= x + \frac{1}{2} \cdot x^2 \cdot \left( \frac{x}{3} + \frac{3}{4} \cdot x^2 \cdot \left( \frac{x}{5} + \frac{5}{6} \cdot \frac{x^3}{7} \right)\right) \\
= x + \frac{1}{2} x^2 \cdot \left( \frac{x}{3} + \frac{3}{4} \cdot x^2 \cdot \left( \frac{x}{5} + \frac{5}{6} \cdot x^2 \cdot \left( \frac{x}{7} \right)\right)\right)$

Snad si dovedeš představit algoritmus, který pro zadaný stupeň a x podle tohohle schématu rovnou vyhodnotí tenhl epolynom v bodě x.

A ano, snad by byla lepší sekce Algoritmy a programování, aby bylo jasnější, že to chceš programovat. Však on to tam někdo přesune.

Edit 2:

mák napsal(a):

Vzorec je správně.
1. Zadáváš proměnou [x] v radiánech, to znamená 45° je pi/4, tj. 0.7853981633974483
2. Přesnost vzorce je omezená, od 0 do pi/4 je vynikající, pak rapidně klesá (musíš použít buď vyšší stupeň, což je velmi nevýhodné, nebo počítat jakoby z "druhé strany")

Nepleteš si arcsin se sin? Parametr funkce arcsin je reálné číslo od -1 do 1, jeho výsledek je nějaký úhel měřený v radiánech.


Mýlím se častěji, než bych chtěl. Pokud vám v mém příspěvku něco nehraje, neváhejte se zeptat.
Jsem stále mlád a je mi příjemnější tykání. :)

Offline

 

#6 22. 09. 2011 11:10

pietro
Příspěvky: 4762
Reputace:   187 
 

Re: arcsin pomocí +,-*,/

Niečo ako zápis diferenčnej rovnice, nasledujúci člen = predchádzajúci krát niečo.

Offline

 

#7 24. 09. 2011 12:05

Tomaskocz
Příspěvky: 54
Reputace:   
 

Re: arcsin pomocí +,-*,/

Už to mám naprogramované. Např. pro číslo 0.5 pro 10 platných cifer se mi cyklus provede 13x pro 0.8 se cyklus provede už 40x a pro číslo 1 se cyklus provede 9266873x a už to číslo není vůbec přesné.
Chci tedy předtím než začne výpočet u čísel menších než -0.5 a větších než 0.5 je dát do rozsahu <-0.5 ; 0.5> a pak to nějakým mechanismem převést zpátky, aby číslo vyšlo správě. Udělat optimalizaci, protože výpočet probíhá snadněji pro čísla z mého definovaného intervalu  <-0.5 ; 0.5>.

Offline

 

#8 24. 09. 2011 12:26

FailED
Příspěvky: 1255
Reputace:   42 
 

Re: arcsin pomocí +,-*,/

Tak toho taylora rozviň někde blíž. -link-

Offline

 

#9 24. 09. 2011 12:40

Tomaskocz
Příspěvky: 54
Reputace:   
 

Re: arcsin pomocí +,-*,/

FailED napsal(a):

Tak toho taylora rozviň někde blíž. -link-

Jak rozvin blíž?

Offline

 

#10 24. 09. 2011 12:55

FailED
Příspěvky: 1255
Reputace:   42 
 

Re: arcsin pomocí +,-*,/

Taylorův rozvoj aproximuje funkci na nějakém okolí bodu, ve kterém ho rozvineš. -link-

Na tom odkazu ↑ FailED: je vyjádřený Taylorův rozvoj arcsin x v bodě x=sqrt(3)/2.

Offline

 

#11 24. 09. 2011 13:09

Tomaskocz
Příspěvky: 54
Reputace:   
 

Re: arcsin pomocí +,-*,/

Pokud Taylorův rozvoj pro arcsin rozvinu blíž např. v okolí bodu 0.5, tak jak z něj dostanu např arcsin 0,9 nebo arsin 0,987 třeba ? U arcsin 1 do arsin 0,5 to zrovna jde. Vypočtu arcsin 0,5 a vynásobím 3, výjde mi arcsin 1

Offline

 

#12 24. 09. 2011 13:25

FailED
Příspěvky: 1255
Reputace:   42 
 

Re: arcsin pomocí +,-*,/

↑ Tomaskocz:

Pokud Taylorův rozvoj pro arcsin rozvinu blíž např. v okolí bodu 0.5, tak jak z něj dostanu např arcsin 0,9 nebo arsin 0,987?

Do toho polynomu dosadíš úplně stejně jako když ho rozvíjíš v 0.

Offline

 

#13 24. 09. 2011 13:33

Tomaskocz
Příspěvky: 54
Reputace:   
 

Re: arcsin pomocí +,-*,/

FailED napsal(a):

↑ Tomaskocz:

Pokud Taylorův rozvoj pro arcsin rozvinu blíž např. v okolí bodu 0.5, tak jak z něj dostanu např arcsin 0,9 nebo arsin 0,987?

Do toho polynomu dosadíš úplně stejně jako když ho rozvíjíš v 0.

To vím, ale mě jde o to že když tam dosadím 0,9, tak ten rozvoj je strašně dlouhý, než dosáhnu požadované přesnosti. Když chci spočítat např. arcsin 0,9, tak ho potřebuji spočítat v menších číslech např. arcsin 0,5 aby rozvoj nebyl tak dlouhý, a pak to třeba vynásobit do arcsin 0,9 nebo nasčítat  nebo něco...zkrátka udělat heuristiku. Nevím jak to mám říct, možná to říkám zle :/

Offline

 

#14 24. 09. 2011 14:33 — Editoval FailED (24. 09. 2011 14:54)

FailED
Příspěvky: 1255
Reputace:   42 
 

Re: arcsin pomocí +,-*,/

Proto navrhuji arcsin x pro x z (0.5, 1] počítat pomocí taylorova rozvoje v ↑ sqrt(3)/2:,  který tu funkci na tom intervalu aproximuje mnohem líp.

Nevím, jestli existují nějaké užitečné identity pro arcsin.


Sám nevím, jak se arcsin x normálně počítá, zkusil bych numericky řešit rovnici siny-x=0. (pro y, třeba Newtonovou metodou) Sinus má totiž omezené derivace, proto pro něj taylor funguje mnohem líp. Navíc se dají výhodně použít součtové vzorce.

Offline

 

#15 25. 09. 2011 21:57

pietro
Příspěvky: 4762
Reputace:   187 
 

Re: arcsin pomocí +,-*,/

Ahojte, skúsil som takto..



a celkom to sedí v Exceli, ale asi aj v iných cykloch..

Offline

 

#16 29. 09. 2011 17:35

Tomaskocz
Příspěvky: 54
Reputace:   
 

Re: arcsin pomocí +,-*,/

takže arcsin(x) = (1+ 1/2(n+1) - 4/(2*n+3)) * x^2
n bude iterovat od 0 do n ?

Offline

 

#17 30. 09. 2011 14:01

pietro
Příspěvky: 4762
Reputace:   187 
 

Re: arcsin pomocí +,-*,/

↑ Tomaskocz: Nie prosím....

Offline

 

#18 30. 09. 2011 14:22

Honzc
Příspěvky: 4549
Reputace:   241 
 

Re: arcsin pomocí +,-*,/

↑ Tomaskocz:
To opravdu ne.
Zkus si spočítat, pro nějaké hodně velké n (např. 1000000000) kolik ti vyjde arcsin(x):
Podle tebe to bude:
arcsin(x)=0.999999999x^2 (což je skoro x^2-dost přesně) a to jistě pro obecné x není pravda

Offline

 

#19 05. 11. 2011 15:54

Tomaskocz
Příspěvky: 54
Reputace:   
 

Re: arcsin pomocí +,-*,/

Ahojte, mám zatím stále nevyřešeno a už nevím co mám hledat abych se doplácal k výsledku :/ Kamarád mi napsal že mám hledat na internetu pro arcsin vzorce typu: arcsin (F(x)) = G(arcsin (x)) - kde F a G jsou nejake funkce.

Offline

 

#20 05. 11. 2011 16:07

Stýv
Vrchní cenzor
Příspěvky: 5690
Reputace:   215 
Web
 

Re: arcsin pomocí +,-*,/

↑ Tomaskocz: kdybys neignoroval ↑ FailEDovy: rady, už jsi to mohl mít

Offline

 

#21 05. 11. 2011 16:38

Tomaskocz
Příspěvky: 54
Reputace:   
 

Re: arcsin pomocí +,-*,/

Neignoruju, nepochopil jsem to. Rozvinu taylora pro nejake cislo, ktere dobre konverguje, ale ja to potrebuju treba pro cislo 0.7 napr. nebo 0.999999. Nevím jak to dopočítat pro potřebné číslo, které zadá uživatel.

Offline

 

#22 06. 11. 2011 12:04

mák
Místo: Vesmír, Galaxie MD
Příspěvky: 864
Reputace:   61 
 

Re: arcsin pomocí +,-*,/

Dole máš obrázek.
Skutečný průběh funkce arcsin je v červené barvě.
Tebou aproximovaný průběh je v modré barvě (vlevo se kryje s červenou, takže není vidět, napravo se odchyluje od skutečnosti).
Pokud rozvineš taylora například u sqrt(3)/2, pak budeš mít průběh podle zelené barvy, který lépe aproximuje funkci při vyšších hodnotách.


LibreOffice Verze: 7.6.6.3, Maxima 5.47.0 (SBCL)

Offline

 

#23 06. 11. 2011 15:33 — Editoval .pata. (06. 11. 2011 18:11)

.pata.
Zelenáč
Příspěvky: 1
Reputace:   
 

Re: arcsin pomocí +,-*,/

A víte někdo jak roste ta řada? Podle odkazu na wolframalpha, by to šlo pěkně udělat, jen víte někdo jak roste to číslo před závorkou? Čím ho násobit, co k němu přičíst atd.? Aby z toho šlo udělat cyklus, který v každém opakování to číslo o něco zvětší a nevím to něco, čím to zvětšit. Pak by to bylo skvělé řešení, ale jinak to nejde implementovat do cyklu.

EDIT: Jde to tak, že pro různé intarvaly použiješ různé řady. S minimálním počtem iterací ;) Stačí hledat a testovat, papír a tužka jako vždy nejlepší.

Offline

 

#24 21. 07. 2022 09:38

ovoce
Zelenáč
Příspěvky: 7
Škola: ssu
Pozice: student
Reputace:   
 

Re: arcsin pomocí +,-*,/

Dobrý den, řeším problém potřebuju radu v EXELU je funkce  =ARCSIN(číslo). Potřebuji ten to vzorec napsat do programu, který tuto funkci neumí vypočítat neví někdo jak na to děkuji za odpověď

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson