Sin(x) taylor reeks naar bytes
-
- Berichten: 53
Sin(x) taylor reeks naar bytes
Hoe converteer ik het polynoom sin(x) = x - x^3/3! + x^5/5! naar bytes? (ik was er al achter gekomen dat het met 16-bit getallen gedaan kan worden.)
Probleem is, sin(x) is in graden; x = (number of degrees)* pi / 180.
Ik heb maar een kwart sinus nodig (andere 3 helften laat ik berekenen), dus van 0 t/m 90 graden.
90 graden komt overeen met 256 waarden. 90/256.
sin(0) = 0, dit zou dan 000 moeten worden.
sin(30) = 0.5, dit zou dan 127 moeten worden.
sin(90) = 1, dit zou dan 255 moeten worden.
Ik moet dus niet de uitkomsten weten, maar de manier om van graden naar bytes te komen.
Bedankt.
RES
Probleem is, sin(x) is in graden; x = (number of degrees)* pi / 180.
Ik heb maar een kwart sinus nodig (andere 3 helften laat ik berekenen), dus van 0 t/m 90 graden.
90 graden komt overeen met 256 waarden. 90/256.
sin(0) = 0, dit zou dan 000 moeten worden.
sin(30) = 0.5, dit zou dan 127 moeten worden.
sin(90) = 1, dit zou dan 255 moeten worden.
Ik moet dus niet de uitkomsten weten, maar de manier om van graden naar bytes te komen.
Bedankt.
RES
- Berichten: 24.578
Re: Sin(x) taylor reeks naar bytes
Graden naar bytes? Dit lijkt me meer een informaticaprobleem, of ik begrijp niet goed wat je wil.
In die reeksontwikkeling moet x niet in graden, maar in radialen ingevuld worden (dus bytes...?!)
In die reeksontwikkeling moet x niet in graden, maar in radialen ingevuld worden (dus bytes...?!)
"Malgré moi, l'infini me tourmente." (Alfred de Musset)
-
- Berichten: 7.068
Re: Sin(x) taylor reeks naar bytes
Ik denk dat hij dit zoekt:Graden naar bytes? Dit lijkt me meer een informaticaprobleem, of ik begrijp niet goed wat je wil.
\(x \rightarrow round(255 \cdot \sin(\frac{\pi \cdot x}{180}))\)
Met wat tweaken kan je natuurlijk het bereik gelijkmatiger gebruiken. -
- Berichten: 53
Re: Sin(x) taylor reeks naar bytes
Ik weet nu alwat meer, dus de uitleg veranderd.TD schreef:Graden naar bytes? Dit lijkt me meer een informaticaprobleem, of ik begrijp niet goed wat je wil.
In die reeksontwikkeling moet x niet in graden, maar in radialen ingevuld worden (dus bytes...?!)
Zo ga ik naar bytegetallen. (alles achter de komma weggooien zodat er hele getallen overblijven.)
(x - x^3/3! + x^5/5!) * 255
Nu wordt het verder een informatica probleem. Ik moet gaan machtsverheffen en delen met bits.
Heb helaas geen sinus functie voorhanden, het is assembleertaal waar ik mee moet programmeren.EvilBro schreef:Ik denk dat hij dit zoekt:
\(x \rightarrow round(255 \cdot \sin(\frac{\pi \cdot x}{180}))\)Met wat tweaken kan je natuurlijk het bereik gelijkmatiger gebruiken.
Het komt op hetzelfde neer als een cpu in een PC. Werkt op basis van instructies.
Bedankt.
-
- Berichten: 7.068
Re: Sin(x) taylor reeks naar bytes
Ik gaf geen algoritme, maar enkel de relatie.Heb helaas geen sinus functie voorhanden,