Summenformel

Status
Dieses Thema wurde gelöst! Zur Lösung gehen…

Technipion

Erfahrenes Mitglied
Ich möchte auch gerne - nur der Vollständigkeit halber - aufzeigen, dass man im Prinzip auch direkt eine Endformel angeben kann:
C:
double summe(double x, unsigned int n)
{
    if (x > 0.9999999 && x < 1.0000001) {
        // x ist quasi 1
        return n % 2 == 0 ? 1.0 : 0.0;
    }
    if (x < -0.9999999 && x > -1.0000001) {
        // x ist quasi -1
        return n % 2 == 0 ? -1.0 : 0.0;
    }
    if (x > -0.0000001 && x < 0.0000001) {
        // x ist quasi 0
        return 0.0;
    }
    
    unsigned int N = n / 2;
    
    double ergebnis = (x - pow(x, 3)) * (pow(x, 4*N + 4) - 1) / (pow(x, 4) - 1);
    
    if (n % 2 == 0) {
        // Korrekturterm
        ergebnis += pow(x, 2*(n+1) + 1);
    }
    
    return ergebnis;
}

Aber ich verstehe schon, dass das ja gar nicht der eigentliche Zweck eurer Übung war ;)

Gruß Technipion
 
Status
Dieses Thema wurde gelöst! Zur Lösung gehen…