C Programmieren Integration?


18.05.2020, 13:37

Ich kriege als Wert -11,25 raus!


18.05.2020, 13:43

Nebenbei sei bemerkt, dass es sich hierbei um das Riemann Integral handelt :)

1 Antwort

Also, dein gegebenes f() ist die Funktion 4-(x^2) zu der ein Flächeninhalt berechnet werden soll. So verstehe ich die Aufgabe.
Als Eingabe würde ich vermuten "Von, Bis, Anzahl".
Mit diesen drei Angaben lassen sich "Anzahl" viele gleich breite Teilstücke "von-bis" festlegen, um dann mit f(x) an diesen Intervall-Stellen die Höhen für die einzelnen Rechteckflächen zu erhalten. (Je größer dann Anzahl gewählt wird je präziser der Flächen Inhalt). Ich würde klassisch dei Probe mit dem korrekten Integral rechnen wie weit mein Ergebnis von der "richtigen" Lösung entfernt liegt, um eine Aussage über die Implementierung zu erhalten.
Anmerkung:
Die Funktion Fläche gibt eine X-Stelle in der Mitte deiner Bereiche zurück
und keine Fläche zurück.
Aus meiner Sicht kannst du einfach [(Von-Bis)/Anzahl] als Sprungbreit der X-Stellen nehmen und diese mit f(x) aufsummieren. (Warum du nochmal den Mittelwert davon nimmst erschließt sich mir nicht.
In der Funktion "Integral" gehst die immer "von->bis" anstatt die "kleinen" neuen Intervalle, die durch "Anzahl" entstehen. Hier scheint mir der Implementierungsfehler zu sein.