Problem mit Mathematischen Funktionen in C

Dieses Thema im Forum "Mac OS X Entwickler, Programmierer" wurde erstellt von Konze, 05.02.2006.

  1. Konze

    Konze Thread Starter MacUser Mitglied

    Beiträge:
    342
    Zustimmungen:
    10
    MacUser seit:
    03.10.2005
    Hi,
    ich habe folgendes Problem und zwar will ich in C mit Sinus Cosinus und Tangens rechnen aber irgen wie funktionieren die Dinger nicht so wie ich will. Und zwar habe ich ein bisschen geforscht nach der headerdatei math.h schön und gut aber nun habe ich das Problem das wenn ich die Funktion zB "double asin(double sinus_wert)" anwende bekomme ich völlig falsche Werte. ich habe mal ein kleines Konsolen Programm zur schilderung meines Problems geschrieben.
    Code:
    #include <stdio.h>
    #include <math.h>
    
    main() {
    	double winkel_alpha, hypotenuse, gegenkathete, sinus_alpha;
    	printf("\nS I N U S R E C H N E R");
    	printf("\n\nBitte laenge der Gegenkathete eingeben\n>");
    	scanf("%lf", &gegenkathete);
    	printf("\n\nBitte laenge der Hypotenuse eingeben\n>");
    	scanf("%lf", &hypotenuse);
    	sinus_alpha = gegenkathete/hypotenuse;
    	winkel_alpha = asin(sinus_alpha);
    	printf("\n%lf\t = Gegenkathete\n
    %lf\t = Hypotenuse\n
    %lf\t = Sinus Alpha\n
    %lf\t = Winkel Alpha\n"
    ,gegenkathete,hypotenuse,sinus_alpha,winkel_alpha);
    }
    die Ausgabe sieht dann folgendermassen aus
    Code:
    S I N U S R E C H N E R
    
    Bitte laenge der Gegenkathete eingeben
    >20
    
    
    Bitte laenge der Hypotenuse eingeben
    >40
    
    20.000000        = Gegenkathete
    40.000000        = Hypotenuse
    0.500000         = Sinus Alpha
    0.523599         = Winkel Alpha
    Kann es sein das ich die Funktionen falsch anwende oder so den ich finde nichts brauchbares im Internet zu diesem Thema, der Anwendung von Mathematischen Funktionen sonder immer nur solche ausdrücke "double asin(double sinus_wert)". wäre net wenn ihr mir helfen könntet
     
  2. Black Smurf

    Black Smurf MacUser Mitglied

    Beiträge:
    1.528
    Zustimmungen:
    138
    MacUser seit:
    16.03.2005
    Die Ergebnisse die die Arcussinusfunktion bei dir rausbekommt sind schon richtig! Allerdings rechnet die Funktion im Bogenmaß - wenn du einen Winkel in Grad erhalten möchtest, dann mußt du das Ergebnis also noch mit 180/Pi multiplizieren (bzw. wenn du den Sinus verwendest den Winkel erst mit Pi/180 multiplizieren bevor du ihn in die Funktion steckst).
     
Die Seite wird geladen...

Diese Seite empfehlen