rekursive und iterative Prozedur
-
Hallo,
ich bin gerade dabei eine Übungsaufgabe zu lösen. Dabei lautet die Aufgabe: [...] Der Wert eines bestimmten integrals lässicht sich nach der Simpson'schen Regel s= h/3 (y0 + 4y1 + 2y2 + ... + 4y2n-3 + 2yn-2 + 4y2n-1 +y2n) näherungsweise erechnen. Dabei sind die Funktionswerte yi = f(a+i*h), i* 0(1)2n und die Schrittweite h = (b-a) / (2*n).
Es ist von dieser Nährungsformel a) eine iterative und b) eine rekursive Prozedur zu erstellen [...] arge Probleme.Ich habe bereits einen Teil der Aufgabe mit folgendem Code (hoffentlich) gelöst
[...][cpp]#include <stdio.h> #include <stdlib.h> #include <math.h> #define STEP 400 double fnf(double x) { return (2*x); } double integral (double von, double bis) { int i; double s4=0, s2=0, d, x; x=von ; d= (bis-von) /STEP; i=STEP/2 ; while (i--) { s4+=fnf(x+=d) ; s2+=fnf(x+=d); } return (fnf(von)-fnf(bis)+s4*4+s2*2)*d/3; } int main (int argc, char *argv[] ) { if ( argc < 3 ) { printf("Aufruf: simpson von bis\n"); return 4; } printf("Flaeche %f\n", integral(atof(argv[1]), atof(argv[2]))); return 0; } [/cpp]
[...]
, aber mit dem anderen Teil stehe ich irgendwie total auf Kriegsfuss! Kann mir jemand dabei helfen?Vielen Dank
Lernspatz
-
Du bewegst dich in die falsche Richtung
Das C-Forum liegt oberhalb des C++ Forums, hier geht es um C#.
Ansonsten: Die iterative Lösung sieht schon gut aus. Wie man die Simpson-Integration rekursiv lösen würde, bin ich im Moment überfragt.