Problem zur rekursiven Funktion



  • ^ steht nicht fuer potenzieren, sondern fuer xor und dementsprechend gibt es einen Typfehler. Was du suchst ist pow.

    EDIT: Poste naechstes mal die Fehlermeldung dazu.



  • bitte hilfe für die unwissendsten der unwissenden erklären!



  • Man kann auch mal in die C++ Referenzen schauen ... da ist die "pow" Funktion hinreichend erklärt.
    http://www.cplusplus.com/reference/cmath/pow/

    Was Marthog dir gesagt hat war, dass du

    ((log(2))^ n)
    

    ersetzen solltest durch

    pow(log(2), n)
    

    Der Accent ^ ist ein spezieller operator, genauso wie + oder << etc. operatoren sind. Und der ^ ist halt ein Bit-Operator ... der macht was ganz anderes als du denkst! Kannste ja mal google fragen 😉



  • ErklärerFürUnwissende schrieb:

    Man kann auch mal in die C++ Referenzen schauen ... da ist die "pow" Funktion hinreichend erklärt.

    alles klar vielen dank, hatte das nämlich nach vorheriger Langer google-suche nicht finden können 🙂

    funktion sieht nun so aus:

    int I(unsigned int n)
    {
    	if (n == 1)
    		return 2 * log(2) - 1;
    
    	return 2 * (pow(log(2), n)) - n * I(n - 1);
    
    }
    


  • schau dir an, was xor macht. Es ist aus sinnvollen Gruenden nur auf integern definiert und macht nicht das, was du willst. Du suchst pow.



  • Marthog schrieb:

    schau dir an, was xor macht. Es ist aus sinnvollen Gruenden nur auf integern definiert und macht nicht das, was du willst. Du suchst pow.

    danke! hab rückgabewert zu long double geändert!

    Noch kurze frage:
    ist das vorwärtsrekursion oder rückwärtsrekursion?
    bzw kennt jemand den unterschied, bzw kann ihn einfach erklären 😕



  • Wenn f(n) von f(n - 1) abhängt, dann Vorwärtsrekursion.
    Wenn f(n) von f(n + 1) abhängt, dann Rückwärtsrekursion.
    Sagt aber kein normaler Mensch. Diese Begriffe wirst du nur an der HTL/Uni finden, im echten Leben gibt's die nicht.



  • hustbaer schrieb:

    Wenn f(n) von f(n - 1) abhängt, dann Vorwärtsrekursion.
    Wenn f(n) von f(n + 1) abhängt, dann Rückwärtsrekursion.
    Sagt aber kein normaler Mensch. Diese Begriffe wirst du nur an der HTL/Uni finden, im echten Leben gibt's die nicht.

    ah okay!

    dann ist meine rekursive fkt oben eine vorwärtsrekursion?!

    ich muss nur mit meinen gegebenen formeln (s.Frage -> 3.formel) eine RÜCKWÄRTS-rekursion erstellen.
    tipp wie das gehen könnte?
    muss ich als rekursionsanfang (if (...) ) die 3. formel nutzen? aber was könnte ich dann als if-bedingung nehmen?



  • Ne, keine Ahnung. Klingt für mich total unvernünftig. Hast ja keinen bekannten Wert. Frag deinen Prof.

    Wir haben aber einige Mitglieder die Mathe oder Physik studiert haben -- vielleicht können die dir hierzu mehr sagen.



  • wir sollen uns einen geeigneten startwert überlegen I30=∫ln30(x) dx

    (n soll von 30 bis 1 laufen)

    aber keine ahnung was ein geeigneter startwert wäre
    für n=30 ist das intgral ja eig. 0



  • hat vllt iwer eine idee was ich als startwert nehmen könnte?
    ich komme wirklich absolut nicht weiter!

    Intervall [1;2]


Anmelden zum Antworten