1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Deutsch
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

cos(x) und sin(x) ohne math.h

  • conelia
  • 6. Januar 2005 um 00:58
  • Unerledigt
  • conelia
    2
    conelia
    Mitglied
    Reaktionen
    1
    Punkte
    31
    Beiträge
    4
    • 6. Januar 2005 um 00:58
    • #1

    hallo zusammen
    habe ein problem muss cos(x) und sin(x) ohne benutzung von math.h programmieren.
    also ich habe nun cos(x) ohne math.h hinbekommen aber ich bekomme jetzt sin(x) einfach nicht hin.kann mir jemand helfen!!!

    also sourcecode für cos(x) lautet:

    #include <stdio.h>

    main()
    {
    double x,term,cosx;
    int i;
    printf("X?: ");
    scanf("%lf",&x);
    term = 1;
    cosx = 1;

    for (i=1;i < 20; ++i)
    {
    term = term * x * x;
    term = term / i * 2 * ( i * 2-1);
    if ( i % 2 == 0 )
    cosx = cosx + term ;
    else
    cosx = cosx - term;
    }
    printf("\n %.9f ",cosx);

    im Anhang ist die formel für sin(x)

  • Lord Binary
    18
    Lord Binary
    Mitglied
    Reaktionen
    11
    Punkte
    3.301
    Beiträge
    647
    • 6. Januar 2005 um 01:09
    • #2

    warum einfach, wenn's auch kompliziert geht.
    sin(x)=sqrt(1-cos(x)*cos(x))
    sin(x)=cos(Pi/2+x)
    ...


    Trading for a living [equities,futures,forex]

  • conelia
    2
    conelia
    Mitglied
    Reaktionen
    1
    Punkte
    31
    Beiträge
    4
    • 6. Januar 2005 um 08:48
    • #3
    Zitat von Lord Binary

    warum einfach, wenn's auch kompliziert geht.
    sin(x)=sqrt(1-cos(x)*cos(x))
    sin(x)=cos(Pi/2+x)
    ...


    1. lesen hilft meistens im leben weiter
    2. habe ich gesagt ich soll die aufgabe ohne math.h lösen,weißt du eigentlich wo sqrt und pi und cos und sinx stecken...ich verrate es dir in math.h
    3. ich weiß auch das es leichter geht, undzwar die funktion gibt es ja eigentlich schon, aber mein prof will es so umständliuch haben.


    so wenn jemand jetzt konkrete hilfestellungen hat,dann bitte etwas produktiver.

    mfg
    conelia

  • Irrlicht
    7
    Irrlicht
    Mitglied
    Reaktionen
    1
    Punkte
    421
    Beiträge
    82
    • 6. Januar 2005 um 09:51
    • #4
    Zitat von conelia

    1. lesen hilft meistens im leben weiter
    2. habe ich gesagt ich soll die aufgabe ohne math.h lösen,weißt du eigentlich wo sqrt und pi und cos und sinx stecken...ich verrate es dir in math.h
    3. ich weiß auch das es leichter geht, undzwar die funktion gibt es ja eigentlich schon, aber mein prof will es so umständliuch haben.

    Wenn wir dir hier schon helfen sollen, würde ich vorschlagen,

    • einen ein wenig freundlicheren Ton anzuschlagen.
    • auch mal genau zu lesen was Lord Binary geschrieben hat.
    • darüber nachzudenken.
    • wenn du immer noch nicht erleuchtet bist, noch einmal darüber nachzudenken.

    Wenn du dann immer noch nicht weiter bist, ein kleiner Tip: Die Lösung von Lord Binary ist völlig korrekt, und verwendet kein math.h, genau wie von dir gefordert. Sie geht davon aus, dass du cos(x) wie oben angegeben ja bereits implementiert hast.

    das irrlicht

  • MichiK
    9
    MichiK
    Mitglied
    Reaktionen
    1
    Punkte
    786
    Beiträge
    153
    • 9. Januar 2005 um 02:09
    • #5

    sinx = 0;
    nenner = 1;
    zaehler = x;
    mult = +1;

    for (int n=0; n<N; n++)
    {
    sinx += mult * (zaehler / nenner);
    mult = -mult;
    zahler *= (x*x);
    nenner *= (2*n + 1)
    }

    Informatik @ TU Wien (1998 - 2005)

  • Lord Binary
    18
    Lord Binary
    Mitglied
    Reaktionen
    11
    Punkte
    3.301
    Beiträge
    647
    • 9. Januar 2005 um 04:46
    • #6

    Auch wenn's die ursprüngliche Fragestellerin wahscheinlich Nüsse interessiert, eine kleine Randbemerkung:
    Approximation mittels Taylorreihen ist keinesfalls optimal, das geht auch mit anderen Polynomen mit geringerem Grad (=weniger Rechenaufwand) und gleicher/besserer Approximationsgüte.


    Trading for a living [equities,futures,forex]

  • michi204
    26
    michi204
    Mitglied
    Reaktionen
    63
    Punkte
    7.268
    Beiträge
    1.318
    • 9. Januar 2005 um 16:46
    • #7
    Zitat von conelia

    1. lesen hilft meistens im leben weiter
    2. habe ich gesagt ich soll die aufgabe ohne math.h lösen,weißt du eigentlich wo sqrt und pi und cos und sinx stecken...ich verrate es dir in math.h
    3. ich weiß auch das es leichter geht, undzwar die funktion gibt es ja eigentlich schon, aber mein prof will es so umständliuch haben.

    so wenn jemand jetzt konkrete hilfestellungen hat,dann bitte etwas produktiver.

    liebe conelia (?),

    weißt du, ein derart unverschämtes posting habe ich schon lange nicht mehr gelesen.

    ein tipp von mir an pubertierende schulkinder, denen mami & papi kein benehmen beigebracht haben: löst eure aufgaben selbst. dieses forum wurde nicht wegen letzterer gegründet.

    michael

  • Maximilian Rupp 27. Dezember 2024 um 12:06

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Rechtliches

Impressum

Datenschutzerklärung

  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  • Deutsch
  • English
Zitat speichern