Üdv!
Régebbi sinus-görbe rajzoló turtle-scriptemet szerettem volna beizzítani újra, de valamiért nem működött. Úgy vettem észre, a sinus függvénnyel van a probléma.
>>> sin( pi )
1.2246063538223773e-16
Hogy lehet ez? sin( pi )
degben: 0,05480366515
radban: 0
gradban: 0,0493279955
Mi lehet a baj?
- 1453 megtekintés
Hozzászólások
Na hat ez "majdnem" 0. Kerekits.
- A hozzászóláshoz be kell jelentkezni
Az a baj, hogy egy ciklussal számoltattam a koordinátákat, ahol n az mindig nőtt:
sin( ( n / 90 ) * pi )
és az első 90 az végig 0,0 onnantól kezdve pedig már 1.2246063538223773e-16, aztán utána megin nő és így tovább...
Meghát sinus-görbénél kerekíteni.. :)
- A hozzászóláshoz be kell jelentkezni
En most ezt nem ertem.
Akkor ne kerekits, fogadd el a lebegopontos szamitas hibajat. 0.0000000000000000123 akkora zavart okoz?
Ha meg a 0-89 tartomanyban is gorbet akarsz, akkor n/90.0
- A hozzászóláshoz be kell jelentkezni
hat ez azert gecinagy hiba, nem 10^-16onos
nagysagrend.
- A hozzászóláshoz be kell jelentkezni
hm, nem vagyok magamnal. 10^16-os. nemszoltam.
de akkoris lehetne ennyire okos.
- A hozzászóláshoz be kell jelentkezni
Mennyire legyen okos?
Le van írva, hogy a math modul a megfelelő C függvényeket hívja. Ha pontosabbat akarsz, akkor használj numpy, scipy, valamilyen gmp-wrappert...
- A hozzászóláshoz be kell jelentkezni
ennyi elvarhato.
- A hozzászóláshoz be kell jelentkezni
De ha a PI értéke csak az első valahány számjegyet tartalmazza, akkor az valójában nem is a PI szám, csak egy kerekítése. Ezek után ne csodálkozz, hogy nem pontosan sin(pi)-t adja ki.
- A hozzászóláshoz be kell jelentkezni