- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 8 von 8

Thema: asin in AVR-GCC

  1. #1
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    02.03.2004
    Ort
    Paderborn
    Alter
    40
    Beiträge
    614

    asin in AVR-GCC

    Anzeige

    Powerstation Test
    Hi
    Ich verwende AVR-GCC und würde gern den ArcusSinus eines Wertes ausrechnen.
    In der AVR-LIBC gibt's auch 'ne Bibliothek, in der so 'ne Funktion enthalten ist.
    Bloß macht die Beschreibung für mich nicht so viel Sinn:
    5.11.3.2 double asin (double x)
    The asin() function computes the principal value of the arc sine of x. The returned
    value is in the range [0, pi] radians. A domain error occurs for arguments not in the
    range [-1, +1].
    was kriege ich denn jetzt für negative Werte 'raus?
    nochwas zum Thema "ausprobieren": Gibt's ne Bibliothek für AVR-GCC, die Methoden zur Verfügung stellt, mit denen man Zahlen(auch große und negative) formatiert über das UART ausgeben kann?
    it works best if you plug it (aus leidvoller Erfahrung)

  2. #2
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Zum Formatieren von irgendwas sind "printf" und seine derivate zuständig.
    Die asn frage versteh ich nicht ganz. du schmeißt irgendwas von -1 bis +1 rein und kriegst 0-Pi raus. Es gibt immer zwei Lösungen, abgesehen von genau +1 u, -1, die kriegst du genausowenig wie beim Wurzelziehen.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    05.11.2004
    Ort
    Karlsruhe
    Beiträge
    223
    vielleicht is der Knackpunkt einfach der: die Werte sind im Bogenmaß, nicht Gradmaß.

  4. #4
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Meinst Du ?
    aber zum Rechnen braucht er das sowieso in dieser Form.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    02.03.2004
    Ort
    Paderborn
    Alter
    40
    Beiträge
    614
    Die asn frage versteh ich nicht ganz. du schmeißt irgendwas von -1 bis +1 rein und kriegst 0-Pi raus. Es gibt immer zwei Lösungen, abgesehen von genau +1 u, -1, die kriegst du genausowenig wie beim Wurzelziehen.
    Das ist genau das Problem: arcsin ist im Intervall [0;PI] nicht eindeutig definiert:
    Für (0;1) gibt's mehrere Lösungen und für (-1;0) gibt's keine.
    Die Sinusfunktion ist im Intervall [0;PI] ja gerade immer positiv(und wie kann es dann ein arcsin von negativen Werten in dem Intervall geben?).
    Ich kenn die Funktion nur von [-1;1] auf [-Pi/2;Pi/2].
    Zum Formatieren von irgendwas sind "printf" und seine derivate zuständig.
    und wo find' ich die in AVR-GCC?
    it works best if you plug it (aus leidvoller Erfahrung)

  6. #6
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    printf is, glaub ich, <stdio.h> da gibts auch irgendeine extended version
    type "Help" for help
    asn
    wenn du -1 reinwirfst, soll er dir nun - PI/2 oder 3* PI/2 auswerfen ?
    Den genauen Quadranten mußt du entscheiden
    Genauso wie SQR(4) : ist das +2 oder -2 ?
    mfg

  7. #7
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    02.03.2004
    Ort
    Paderborn
    Alter
    40
    Beiträge
    614
    wenn du -1 reinwirfst, soll er dir nun - PI/2 oder 3* PI/2 auswerfen ?
    Den genauen Quadranten musst du entscheiden
    Das ist ja meine Frage: Laut Doku sollte er weder noch ausgeben(ist ja beides nicht im angegebenen Bereich).

    type "Help" for help
    Wo bitte soll ich das eingeben?
    it works best if you plug it (aus leidvoller Erfahrung)

  8. #8
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    02.03.2004
    Ort
    Paderborn
    Alter
    40
    Beiträge
    614
    Ich hab' die Ergebnisse jetzt einfach mal ausgegeben und siehe da: Sie sind im Bereich [-pi/2,pi/2]. Scheint so, als sei die Funktion lediglich falsch dokumentiert.
    it works best if you plug it (aus leidvoller Erfahrung)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress