Mathematische Formel in C Funktion



  • Hallo zusammen, ich muss eine math. Formel als C- Funktion ausgeben, allerdings weiß ich nicht wo ich den Startwert x=23 und den Endwert 42 eingeben soll. Kann ich das in einer for-Scheife angeben?
    42
    ∑ wurzel(x^2 +y^2) / (x -y * sin( z + (x+3)/11 * PI)
    x=23

    
    #include <stdio.h>
    #include <math.h>
    #define PI 3.14f
    
    double rechnung(int x ,double y, double z) {
        double erg = 0;
        for( x=23; x <= 42; x++) {
             erg += sqrt(pow((x,2)+pow(y,2)) / x-y*sin(z+(x+3)/11)*PI));
        }
        return erg;
    }


    1. Bitte formatiere im Sinne der Lesbarkeit deinen Code ordentlich.
    2. Ich glaube du hast keine Ahnung was du überhaupt erreichen willst.
      Nimm dir Stift und Papier und führe das was du erziehlen willst manuell aus, dann wird dir hoffentlich auch klar wie du das implementieren musst.


  • Vom Ansatz ist das (wohl) so richtig (wenn ich die Formel richtig verstehe).

    Du solltest als Parameter der Funktion dann aber y und z benutzen (und x nur als lokale Variable).



  • ..und x=2342...\sum_{x=23}^{42} ... geht von 23 bis inklusive 42.

    Edit: vielen Dank fürs Löschen des Ursprungsbeitrags. Nicht.



  • @wob sorry, habe das nur bearbeitet, damit es lesbarer wird



  • Ah, ok. Kein Problem!
    Dann: nach deinem Update hängt die C-Funktion rechnung von x, y, z ab. Die mathematische Formen ist aber

    f(y,z)=x=2342x2+y2xysin(z+x+311π)f(y, z) = \sum_{x=23}^{42}\frac{\sqrt{x^2 + y^2}}{x-y \sin(z + \frac{x+3}{11} \pi)}

    und hängt nicht von xx ab. Deine Formel sollte demnach auch nicht von xx abhängen, das ist eine interne Variable, die nur für das Summensymbol gebraucht wird.

    Wenn du jetzt also das x aus den Parameter rausnimmst und es zu einer lokalen Variablen machst, sollte das Programm richtig sein.

    PS: Du kannst x2x^2 immer auch als x*x schreiben und braucht dazu nicht die pow-Funktion zu bemühen.



  • @wob Vielen Dank, du hast mich echt weiter geholfen 🙂



  • Achso, eins noch: wo steht das π\pi in der Aufgabe? Im Sinus oder außerhalb? Oben in der Aufgabe fehlt eine ). Und Punkt vor Strich! Das ist in deiner Formel auch falsch. Verdammt. Und ich schreibe noch "sollte richtig sein". Augen auf! 🙂



  • @wob π steht im Sinus, du hast die Formel oben genau richtig geschrieben. Ich komme mit dem Programm hier noch nicht ganz zurecht ... 😶 🙂



  • @angedem Achte auf richtige Klammersetztung im Code.
    So wie sie im Eingangspost ist, stimmt die Bedeutung des Codes nicht mit der der Formel überein.



  • @axels ja genau, danke 👍