Numerische Integration mit C

Hallo,

ich habe folgendes Problem, ich möchte mit C ein Integral für unterschiedliche Parameter auswerten. Der Integrand ist eigentlich für alle Parameter „glatt“, so dass sich zur Integration ja eigentlich QROMB aus den Numerical Recipies eigent. Allerdings liefert es nur für manche Parameter, während bei anderen die Meldung „Too many steps in qromb“ kommt. Hat jemand eine Idee, wie man die Parameter in qromb änderen könnte oder mit welcher Routine man es mal probieren könnte?

Gruß
Felix

Hallo,

Der Integrand ist eigentlich für alle Parameter „glatt“,
so dass sich zur Integration ja eigentlich QROMB aus den
Numerical Recipies eigent. Allerdings liefert es nur für
manche Parameter, während bei anderen die Meldung
„Too many steps in qromb“
kommt. Hat jemand eine Idee, wie man die Parameter in qromb
änderen könnte oder mit welcher Routine man es mal probieren
könnte?

Im Quelltext von QROMB fundest Du
auf der vierten Zeile ein

 #define JMAX 20
 #define K 5

Du kannst es ja mal auf 200 / 10 ändern und
unten bei der Funktion

 ...
 if (j \>= K) {
 polint(&h[j-K],&s[j-K],K,0.0,&ss,&dss);
**<u>printf("QROMB: iteration %d\n", j);</u>**
 if (fabs(dss) spasseshalber die unterstrichene Zeile
einfügen, um zu sehen, wo er lange 
rödelt (bei welchen Parametern).

Wie sieht denn Deine Funktion aus,
über welche Du integrierst?

Grüße

CMБ