Hallo!
Ich schreibe ein Programm indem ich durch numerische Integration den Integralwert bestimmen möchte.
Die Funktionen sind vom Typ:
y(x) = a0 + a1*x + a2*x^2 + ... + an*x^n
In dem Programm frage ich zuerst die Werte für s,a,b ab, und gelange dann zu dieser For-Schleife.
Mein Problem ist nun, dass ich nur Funktionen bis zum Grad 3 berechnen kann. Weiß jemand wie ich das
anders machen kann, damit ich Funktionen höherer Ordnung auswerten kann? Mir ist klar das ich diese
Schleife erweitern kann, aber das ist meiner Meinung ja kein schöner weg.
n: Grad des Polynoms
s: Streifenbreite bei der Numerischen Integration
a,b: Grenzen des Integrals.
for (i=0; i<=s; i++)
{
h=(b-a)/s;
x=a+(h*i);
if (n==0)
y = p[0];
if (n==1)
y = p[0] + p[1]*x;
if (n==2)
y = p[0] + p[1]*x + p[2]*x*x;
if (n==3)
y = p[0] + p[1]*x + p[2]*x*x + p[3]*x*x*x;
}
Vielen Dank im voraus
Gruß
SnuffNick
Ich schreibe ein Programm indem ich durch numerische Integration den Integralwert bestimmen möchte.
Die Funktionen sind vom Typ:
y(x) = a0 + a1*x + a2*x^2 + ... + an*x^n
In dem Programm frage ich zuerst die Werte für s,a,b ab, und gelange dann zu dieser For-Schleife.
Mein Problem ist nun, dass ich nur Funktionen bis zum Grad 3 berechnen kann. Weiß jemand wie ich das
anders machen kann, damit ich Funktionen höherer Ordnung auswerten kann? Mir ist klar das ich diese
Schleife erweitern kann, aber das ist meiner Meinung ja kein schöner weg.
n: Grad des Polynoms
s: Streifenbreite bei der Numerischen Integration
a,b: Grenzen des Integrals.
for (i=0; i<=s; i++)
{
h=(b-a)/s;
x=a+(h*i);
if (n==0)
y = p[0];
if (n==1)
y = p[0] + p[1]*x;
if (n==2)
y = p[0] + p[1]*x + p[2]*x*x;
if (n==3)
y = p[0] + p[1]*x + p[2]*x*x + p[3]*x*x*x;
}
Vielen Dank im voraus
Gruß
SnuffNick