Probleme mit der Funktion acos und atan



  • Hallo
    möchte einen cos wert in tan umwandeln aber hab probleme beim rechnen.
    Benutze die acos und atan aber erhalte nicht das was mein Taschenrechner mir heraus gibt. Wie muss ich die eingabe im c++ machen das ich z.B. cos 0.8 in tan 0.75 herausbekomme..
    danke im vorraus



  • "voraus" schreibt man mit einem r!
    Also, wenn ich dich richtig verstanden habe:
    User gibt einen cos-Wert ein:
    z.B.

    cos [e]phi[/e] =0.5
    

    Diesen Wert willst du nun in einen Tangens-Wert umrechnen, richtig?
    z.B. Ergebnis: cos 0.5 = tan
    Zeig mal deine Formel her, achte darauf das die Funktionen mit Radiant rechnen!



  • "stimmt mit einem r"

    ein wirklichen Formel hab ich nicht, bin ein Anfänger und daher bin ich die ganze zeit schon am Testen.
    Hab dieses hier getestet:
    winkel = math.deg( math.acos(0.5) )
    print ( winkel )

    aber mein Kompailer macht beim math.deg probleme, er erkennt dieses nicht an.



  • Das ist ja aber nur eine math. Herleitung:

    sin [e]alpha[/e] / cos [e]alpha[/e] = tan [e]alpha[/e]
    --> tan [e]alpha[/e] = WURZEL(1-cos^2 [e]alpha[/e]) / cos [e]alpha[/e]
    --> tan [e]alpha[/e] = WURZEL(1/cos^2 [e]alpha[/e] -1)
    

    Nun den atan davon und schon hast du den Winkel
    Also nochmal in C:

    #include <math.h>
    void main
    {
       //User cos alpha eingeben lassen
       //umrechnen:
       float winkel = atan(sqrt( pow(eingabe,-2) - 1)); 
    //ob du denn cos nun berechnest oder nicht hängt ab, wie der User den Winkel
    //eingegeben hat (ich glaube bei deiner Aufgabenstellung, müsstest du den cos() Ausdruck einfach weg lassen und stattdessen nur eingabe schreiben
       //Winkel ausgeben
    }
    

    so, das war's eigentlich auch schon, könnte sein dass ich bei pow (entspricht ^) die Argumente in umgekehrter Reihenfolge stehen müssen, musst halt probieren

    Jetzt wird wohl nur noch das Problem sein den Winkel in Grad umzurechnen, aber das schaffst du selber 🙂



  • Danke für deine schnelle hilfe aber wenn ich das so bei mir eingebe mekkert er bei dem arctan. Wird nicht anerkennt...



  • samy73 schrieb:

    Danke für deine schnelle hilfe aber wenn ich das so bei mir eingebe mekkert er bei dem arctan. Wird nicht anerkennt...

    Sorry, die Funktion heißt nämlich auch atan(...), hatte nur keinen Compiler zur Hand!
    Aber nun muss es funktionieren!
    Außerdem hatte man das ganze auch viel leichter machen können, aber so hast du mehr von C++ gesehen, da du ja ein Anfänger in dieser Sprache bist.
    Probier das Programm mal umzuschreiben:

    Benutzer cos phi eingeben lassen
    acos ziehen
    nun hast du bereits einen Winkel;
    um den tan phi zu erhalten tan benutzen
    

    Probier's mal aus 😃
    mfg. Helli


Anmelden zum Antworten