Hallo an alle ich habe das Rombergverfahren Implementiert das meine Integralberechnung möglichst genau ist muss ich mehrere schritte berechnen.
Allerdings fällt mir keine gute Idee ein diese umzusetzen und habe es Katastrophal gelöst..
Allerdings fällt mir keine gute Idee ein diese umzusetzen und habe es Katastrophal gelöst..
Java:
public static double Romberg(String a, double untergrenze, double obergrenze ) {
JEP j = new JEP();
j.addStandardConstants();
j.addStandardFunctions();
j.addVariable("x", 0);
int[] i={0,1,2,3,4,5,6};
double S1 = (obergrenze-untergrenze)/Math.pow(2, i[0]);
double S2= (obergrenze-untergrenze)/Math.pow(2, i[1]);
double S3= (obergrenze-untergrenze)/Math.pow(2, i[2]);
double S4= (obergrenze-untergrenze)/Math.pow(2, i[3]);
double S5= (obergrenze-untergrenze)/Math.pow(2, i[4]);
double S6= (obergrenze-untergrenze)/Math.pow(2, i[5]);
double S7= (obergrenze-untergrenze)/Math.pow(2, i[6]);
double Wert1 =SummierteTrapezregel(a, untergrenze, obergrenze, S1);
double Wert2 =SummierteTrapezregel(a, untergrenze, obergrenze, S2);
double Wert3 =SummierteTrapezregel(a, untergrenze, obergrenze, S3);
double Wert4 =SummierteTrapezregel(a, untergrenze, obergrenze, S4);
double Wert5 =SummierteTrapezregel(a, untergrenze, obergrenze, S5);
double Wert6 =SummierteTrapezregel(a, untergrenze, obergrenze, S6);
double Wert7 =SummierteTrapezregel(a, untergrenze, obergrenze, S7);
for(int k =1;k<10; k++){
}
Wert1= Wert2+(Wert2-Wert1)/(4-1);
Wert2= Wert3+(Wert3-Wert2)/(4-1);
Wert3= Wert4+(Wert4-Wert3)/(4-1);
Wert4= Wert5+(Wert5-Wert4)/(4-1);
Wert5= Wert6+(Wert6-Wert5)/(4-1);
Wert6= Wert7+(Wert7-Wert6)/(4-1);
Wert1=Wert2+(Wert2-Wert1)/(16-1);
Wert2= Wert3+(Wert3-Wert2)/(16-1);
Wert3= Wert4+(Wert4-Wert3)/(16-1);
Wert4= Wert5+(Wert5-Wert4)/(16-1);
Wert5= Wert6+(Wert6-Wert5)/(16-1);
Wert1=Wert2+(Wert2-Wert1)/(64-1);
Wert2= Wert3+(Wert3-Wert2)/(64-1);
Wert3= Wert4+(Wert4-Wert3)/(64-1);
Wert4= Wert5+(Wert5-Wert4)/(16-1);
Wert1=Wert2+(Wert2-Wert1)/(256-1);
Wert2=Wert3+(Wert3-Wert2)/(256-1);
Wert3= Wert4+(Wert4-Wert3)/(256-1);
Wert1=Wert2+(Wert2-Wert1)/(1024-1);
Wert2=Wert3+(Wert3-Wert2)/(1024-1);
Wert1=Wert2+(Wert2-Wert1)/(4096-1);
return Wert1;
}