hallo ...
also ich bin neu hier weil ich mir dachte hier bekomme ich vielleicht hilfe.
ich bin absoluter C .... und wir haben vom prof. dieses programm hier bekommen
#include <stdio.h>
#include <math.h>
#define EPS 0.00001
double trapez(double untgr, double obgr);
double f(double x)
{
double wert;
wert = exp(-pow(x,2.)/2.);
return wert;
}
int main()
{
double a, b, integral;
printf("Linke Integrationsgrenze von f: ");
scanf("%lf",&a);
printf("Rechte Integrationsgrenze von f: ");
scanf("%lf",&b);
integral = trapez(a, b);
printf("Integral von f zwischen (%f,%f) lautet: %.3f\n",a,b,integral);
return 0;
}
double trapez(double untgr, double obgr)
{
double summe1, summe2 = 0., h, ialt, ineu, diff;
int i = 0, k, n;
summe1 = 0.5*(f(untgr) + f(obgr));
ialt = summe1;
h = obgr - untgr;
do
{
i++;
n = pow(2.,(double)i);
h = h/2.;
for (k = 1; k < n; k += 2) summe2 += f(untgr+k*h);
ineu = (summe1 + summe2)*h;
diff = fabs(ineu - ialt);
ialt = ineu;
}while ((diff > EPS) && (i < 50));
printf("\nAnzahl Schleifendurchläufe = %d\n",i);
return ineu;
}
es berechtnet das integral dieser funktion oben über numerischen wege mit hilfe der trapez formel ...
wir sollen jetzt einen bericht über das programm schreiben wie es funktioniert usw ....
ich habe aber keinen schimmer über diese ganzen befehle ... schleife usw.
kann mir vlt wer kurz dieses programm erklären ?
hier sind sicher erfahrene programmierer unterwegs ...
einfach kurz die einzelnen schritte di gemacht wurden....
wäre echt nett ....
mfg
also ich bin neu hier weil ich mir dachte hier bekomme ich vielleicht hilfe.
ich bin absoluter C .... und wir haben vom prof. dieses programm hier bekommen
#include <stdio.h>
#include <math.h>
#define EPS 0.00001
double trapez(double untgr, double obgr);
double f(double x)
{
double wert;
wert = exp(-pow(x,2.)/2.);
return wert;
}
int main()
{
double a, b, integral;
printf("Linke Integrationsgrenze von f: ");
scanf("%lf",&a);
printf("Rechte Integrationsgrenze von f: ");
scanf("%lf",&b);
integral = trapez(a, b);
printf("Integral von f zwischen (%f,%f) lautet: %.3f\n",a,b,integral);
return 0;
}
double trapez(double untgr, double obgr)
{
double summe1, summe2 = 0., h, ialt, ineu, diff;
int i = 0, k, n;
summe1 = 0.5*(f(untgr) + f(obgr));
ialt = summe1;
h = obgr - untgr;
do
{
i++;
n = pow(2.,(double)i);
h = h/2.;
for (k = 1; k < n; k += 2) summe2 += f(untgr+k*h);
ineu = (summe1 + summe2)*h;
diff = fabs(ineu - ialt);
ialt = ineu;
}while ((diff > EPS) && (i < 50));
printf("\nAnzahl Schleifendurchläufe = %d\n",i);
return ineu;
}
es berechtnet das integral dieser funktion oben über numerischen wege mit hilfe der trapez formel ...
wir sollen jetzt einen bericht über das programm schreiben wie es funktioniert usw ....
ich habe aber keinen schimmer über diese ganzen befehle ... schleife usw.
kann mir vlt wer kurz dieses programm erklären ?
hier sind sicher erfahrene programmierer unterwegs ...
einfach kurz die einzelnen schritte di gemacht wurden....
wäre echt nett ....
mfg