Commit bc5d903e authored by Dakror's avatar Dakror

formatting

parent dccddfe0
import java.util.Arrays;
import freierfall.FastTransportGui;
import ode.ExpliziterEuler;
import ode.Heun;
import ode.Konvergenzordnung;
import ode.ODE;
import ode.RungeKutta4;
import planeten.PlanetenGUI;
import freierfall.FastTransportGui;
public class Test {
......@@ -36,8 +36,7 @@ public class Test {
if (testExpliziteVerfahren)
testExpliziteVerfahren();
if(testKonvergenzordnung)
{
if (testKonvergenzordnung) {
testKonvergenzordnung();
}
}
......@@ -52,16 +51,15 @@ public class Test {
@Override
public double[] auswerten(double t, double[] y) {
return new double[] { lambda*y[0] };
return new double[] { lambda * y[0] };
}
};
Konvergenzordnung k = new Konvergenzordnung(ode, new double[] {1}, new double[] { Math.exp(lambda*T) }, T);
Konvergenzordnung k = new Konvergenzordnung(ode, new double[] { 1 }, new double[] { Math.exp(lambda * T) }, T);
double h = 0.01;
System.out.println("Konvergenzordnung mit Heun: " + k.order(new Heun(), h));
System.out.println("Erwartetes Ergebnis: 2.0 (gerundet auf eine Nachkommastelle)");
System.out.println("*************************************\n");
}
......@@ -91,8 +89,7 @@ public class Test {
System.out.println("y" + k + " = " + y[0]);
t = t + delta_t;
}
System.out.println("Richtig waere: 1, 2, 6, 24" );
System.out.println("Richtig waere: 1, 2, 6, 24");
/* Heun */
System.out.println("\nTeste Heun.");
......@@ -104,8 +101,7 @@ public class Test {
System.out.println("y" + k + " = " + y[0]);
t = t + delta_t;
}
System.out.println("Richtig waere: 1.5, 5.25, 34.125, 358.3..." );
System.out.println("Richtig waere: 1.5, 5.25, 34.125, 358.3...");
/* Runge Kutta4 */
System.out.println("\nTeste Runge-Kutta4.");
......@@ -117,11 +113,9 @@ public class Test {
System.out.println("y" + k + " = " + y[0]);
t = t + delta_t;
}
System.out.println("Richtig waeren gerundet: 1.65, 7.2, 77.7, 1857" );
System.out.println("Richtig waeren gerundet: 1.65, 7.2, 77.7, 1857");
System.out.println("*************************************\n");
}
}
......@@ -270,7 +270,7 @@ public class FastTransportPanel extends JPanel {
spinnerStartPositionX = new JSpinner();
modelSpinnerStartPositionX = new SpinnerNumberModel(-350.0, // initial
// value
// value
-400.0, // min
400.0, // max
1 // step
......@@ -296,7 +296,7 @@ public class FastTransportPanel extends JPanel {
spinnerStartPositionY = new JSpinner();
modelSpinnerStartPositionY = new SpinnerNumberModel(0.0, // initial
// value
// value
-50.0, // min
550.0, // maY
1 // step
......
......@@ -202,7 +202,7 @@ class IntegrationGraphics extends JPanel {
public void drawIntegratorValues(Color c, // /< color to draw function
int integrationMethod, // /< integration method
boolean drawCross // /< draw crosses to visualize discretized
// timesteps
// timesteps
) {
double[][] integrationPoints = integrationPointsAll[integrationMethod];
int numberOfValidIntegrationPoints = numberOfValidIntegrationPointsAll[integrationMethod];
......@@ -286,9 +286,9 @@ class IntegrationGraphics extends JPanel {
) {
graphics.drawLine(origin.x + x - size, viewportSize.height
- (origin.y + y), origin.x + x + size, viewportSize.height
- (origin.y + y));
- (origin.y + y));
graphics.drawLine(origin.x + x, viewportSize.height
- (origin.y + y + size), origin.x + x, viewportSize.height
- (origin.y + y - size));
- (origin.y + y - size));
}
}
package ode;
import java.util.Arrays;
/**
* Das Einschrittverfahren "Expliziter Euler"
*
......
package ode;
import java.util.Arrays;
/**
......@@ -33,8 +34,7 @@ public class Konvergenzordnung {
* @param ystar Exakter Wert nach Zeit T
* @param T Zeitpunkt, bis zu dem integriert werden soll
*/
public Konvergenzordnung(ODE testODE, double[] y0, double[] ystar, double T)
{
public Konvergenzordnung(ODE testODE, double[] y0, double[] ystar, double T) {
this.testODE = testODE;
this.y0 = y0;
this.ystar = ystar;
......@@ -48,13 +48,11 @@ public class Konvergenzordnung {
* @param schrittweite
* @return y_k(T), berechnet mit dem Einschrittverfahren und der Schrittweite.
*/
private double[] integrate(Einschrittverfahren verfahren, double schrittweite)
{
private double[] integrate(Einschrittverfahren verfahren, double schrittweite) {
double[] y_end = Arrays.copyOf(y0, y0.length);
double t = 0;
while(t < T)
{
while (t < T) {
y_end = verfahren.nextStep(y_end, t, schrittweite, testODE);
t += schrittweite;
}
......@@ -67,13 +65,11 @@ public class Konvergenzordnung {
*
* @return e_h = ||yh - yexact||_2
*/
private double error(double[] yh)
{
private double error(double[] yh) {
double e = 0.0;
for(int i=0; i<yh.length; i++)
{
e += (ystar[i]-yh[i])*(ystar[i]-yh[i]);
for (int i = 0; i < yh.length; i++) {
e += (ystar[i] - yh[i]) * (ystar[i] - yh[i]);
}
return Math.sqrt(e);
......@@ -86,8 +82,7 @@ public class Konvergenzordnung {
* @param h Die Schrittweite h, für die die Abschätzung der Ordnung durchgeführt werden soll.
* @return Ordnung p
*/
public double order(Einschrittverfahren verfahren, double h)
{
public double order(Einschrittverfahren verfahren, double h) {
// TODO: diese Methode ist zu implementieren
return 0.0;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment