fork download
  1.  
  2. abstract class Funktion {
  3. /**
  4.   * @param args wird nicht verwendet
  5.   */
  6. double x, eps, xmax;
  7. int i = 0;
  8. abstract double f();
  9. abstract double g();
  10. abstract double e();
  11. static Funktion[] rechnen = new Funktion[10];
  12.  
  13. public void tabelle() {
  14. System.out.println();
  15. System.out.println("WERTETABELLE");
  16. do {
  17. double var1 = this.f();
  18. System.out.printf("x:%5.1f", this.x);
  19. System.out.printf(" | y:%9.3f\n", var1);
  20. this.x = this.x + this.e();
  21. // this.i++;
  22. }
  23. while (this.x <= this.xmax);
  24. }
  25.  
  26. public void newton(double s) {
  27. System.out.println();
  28. System.out.println("Startwert: " + s);
  29. do {
  30. s = s - this.f() / this.g();
  31. System.out.printf("x:%12.8f", s);
  32. System.out.printf(" | y:%12.8f\n", this.f());
  33. this.i++;
  34. if (this.i == 25) {
  35. System.out.println("max. Iterationsanzahl erreicht, keine Loesung gefunden!");
  36. return;
  37. }
  38. }
  39. while (Math.abs(this.f()) > this.eps && this.i < 25);
  40. System.out.println("Eine Nullstelle ist naeherungsweise: " + s);
  41. }
  42.  
  43. public static void main(String[] args) {
  44. // Tabelle/Parabel (x-Wert[= Startwert], maximaler x-Wert, eps, a, b, c, d)
  45. rechnen[0] = new Tabelle(1.0 , 0 , 0.00000001 , 2 , -20 , -6, 30);
  46. rechnen[0].newton(1.0);
  47. rechnen[1] = new Tabelle(-2.0 , 12.0 , 0.1 , 2.0 , -20.0 , -6.0, 30.0);
  48. rechnen[1].tabelle();
  49. rechnen[2] = new Parabel(0.5 , 0 , 0.00000001 , 1.0 , 3.0 , -5.0);
  50. rechnen[2].newton(0.5);
  51. rechnen[3] = new Parabel(0.5 , 12.0 , 0.1 , 1.0 , 3.0 , -5.0);
  52. rechnen[3].tabelle();
  53. /*
  54.   * Wertetabelle hat einen Vorzeichenwechsel bei -1.3 auf -1.2 -> Nullstelle
  55.   Wertetabelle hat einen Vorzeichenwechsel bei 1.1 auf 1.2 -> Nullstelle
  56.   Wertetabelle hat einen Vorzeichenwechsel bei 10.1 auf 10.2 -> Nullstelle
  57.   */
  58. rechnen[4] = new Tabelle(-2 , 0 , 0.00000001 , 2 , -20 , -6, 30);
  59. rechnen[4].newton(-2);
  60. rechnen[5] = new Tabelle(1 , 0 , 0.00000001 , 2 , -20 , -6, 30);
  61. rechnen[5].newton(1);
  62. rechnen[6] = new Tabelle(50 , 0 , 0.00000001 , 2 , -20 , -6, 30);
  63. rechnen[6].newton(50);
  64. }
  65. }
  66.  
  67. class Parabel extends Funktion {
  68. double a, b, c;
  69. public Parabel(double x, double xmax, double eps, double a, double b, double c) {
  70. this.x = x;
  71. this.xmax = xmax;
  72. this.eps = eps;
  73. this.a = a;
  74. this.b = b;
  75. this.c = c;
  76. }
  77. public double f() {
  78. return this.a * x * x + this.b * x + this.c;
  79. }
  80. public double g() {
  81. return 2 * this.a * x + this.b;
  82. }
  83. public double e() {
  84. return eps;
  85. }
  86. }
  87.  
  88. class Tabelle extends Funktion {
  89. double a, b, c, d;
  90. Tabelle(double x, double xmax, double eps, double a, double b, double c, double d) {
  91. this.x = x;
  92. this.xmax = xmax;
  93. this.eps = eps;
  94. this.a = a;
  95. this.b = b;
  96. this.c = c;
  97. this.d = d;
  98. }
  99. public double f() {
  100. return this.a * x * x * x + this.b * x * x + this.c * x + this.d;
  101. }
  102. public double g() {
  103. return this.a * 3 * x * x + this.b * 2 * x + this.c;
  104. }
  105. public double e() {
  106. return eps;
  107. }
  108. }
  109.  
  110.  
Success #stdin #stdout 0.21s 380800KB
stdin
Standard input is empty
stdout
Startwert: 1.0
x:  1.15000000  |  y:  6.00000000
x:  1.30000000  |  y:  6.00000000
x:  1.45000000  |  y:  6.00000000
x:  1.60000000  |  y:  6.00000000
x:  1.75000000  |  y:  6.00000000
x:  1.90000000  |  y:  6.00000000
x:  2.05000000  |  y:  6.00000000
x:  2.20000000  |  y:  6.00000000
x:  2.35000000  |  y:  6.00000000
x:  2.50000000  |  y:  6.00000000
x:  2.65000000  |  y:  6.00000000
x:  2.80000000  |  y:  6.00000000
x:  2.95000000  |  y:  6.00000000
x:  3.10000000  |  y:  6.00000000
x:  3.25000000  |  y:  6.00000000
x:  3.40000000  |  y:  6.00000000
x:  3.55000000  |  y:  6.00000000
x:  3.70000000  |  y:  6.00000000
x:  3.85000000  |  y:  6.00000000
x:  4.00000000  |  y:  6.00000000
x:  4.15000000  |  y:  6.00000000
x:  4.30000000  |  y:  6.00000000
x:  4.45000000  |  y:  6.00000000
x:  4.60000000  |  y:  6.00000000
x:  4.75000000  |  y:  6.00000000
max. Iterationsanzahl erreicht, keine Loesung gefunden!

WERTETABELLE
x: -2.0  |  y:  -54.000
x: -1.9  |  y:  -44.518
x: -1.8  |  y:  -35.664
x: -1.7  |  y:  -27.426
x: -1.6  |  y:  -19.792
x: -1.5  |  y:  -12.750
x: -1.4  |  y:   -6.288
x: -1.3  |  y:   -0.394
x: -1.2  |  y:    4.944
x: -1.1  |  y:    9.738
x: -1.0  |  y:   14.000
x: -0.9  |  y:   17.742
x: -0.8  |  y:   20.976
x: -0.7  |  y:   23.714
x: -0.6  |  y:   25.968
x: -0.5  |  y:   27.750
x: -0.4  |  y:   29.072
x: -0.3  |  y:   29.946
x: -0.2  |  y:   30.384
x: -0.1  |  y:   30.398
x:  0.0  |  y:   30.000
x:  0.1  |  y:   29.202
x:  0.2  |  y:   28.016
x:  0.3  |  y:   26.454
x:  0.4  |  y:   24.528
x:  0.5  |  y:   22.250
x:  0.6  |  y:   19.632
x:  0.7  |  y:   16.686
x:  0.8  |  y:   13.424
x:  0.9  |  y:    9.858
x:  1.0  |  y:    6.000
x:  1.1  |  y:    1.862
x:  1.2  |  y:   -2.544
x:  1.3  |  y:   -7.206
x:  1.4  |  y:  -12.112
x:  1.5  |  y:  -17.250
x:  1.6  |  y:  -22.608
x:  1.7  |  y:  -28.174
x:  1.8  |  y:  -33.936
x:  1.9  |  y:  -39.882
x:  2.0  |  y:  -46.000
x:  2.1  |  y:  -52.278
x:  2.2  |  y:  -58.704
x:  2.3  |  y:  -65.266
x:  2.4  |  y:  -71.952
x:  2.5  |  y:  -78.750
x:  2.6  |  y:  -85.648
x:  2.7  |  y:  -92.634
x:  2.8  |  y:  -99.696
x:  2.9  |  y: -106.822
x:  3.0  |  y: -114.000
x:  3.1  |  y: -121.218
x:  3.2  |  y: -128.464
x:  3.3  |  y: -135.726
x:  3.4  |  y: -142.992
x:  3.5  |  y: -150.250
x:  3.6  |  y: -157.488
x:  3.7  |  y: -164.694
x:  3.8  |  y: -171.856
x:  3.9  |  y: -178.962
x:  4.0  |  y: -186.000
x:  4.1  |  y: -192.958
x:  4.2  |  y: -199.824
x:  4.3  |  y: -206.586
x:  4.4  |  y: -213.232
x:  4.5  |  y: -219.750
x:  4.6  |  y: -226.128
x:  4.7  |  y: -232.354
x:  4.8  |  y: -238.416
x:  4.9  |  y: -244.302
x:  5.0  |  y: -250.000
x:  5.1  |  y: -255.498
x:  5.2  |  y: -260.784
x:  5.3  |  y: -265.846
x:  5.4  |  y: -270.672
x:  5.5  |  y: -275.250
x:  5.6  |  y: -279.568
x:  5.7  |  y: -283.614
x:  5.8  |  y: -287.376
x:  5.9  |  y: -290.842
x:  6.0  |  y: -294.000
x:  6.1  |  y: -296.838
x:  6.2  |  y: -299.344
x:  6.3  |  y: -301.506
x:  6.4  |  y: -303.312
x:  6.5  |  y: -304.750
x:  6.6  |  y: -305.808
x:  6.7  |  y: -306.474
x:  6.8  |  y: -306.736
x:  6.9  |  y: -306.582
x:  7.0  |  y: -306.000
x:  7.1  |  y: -304.978
x:  7.2  |  y: -303.504
x:  7.3  |  y: -301.566
x:  7.4  |  y: -299.152
x:  7.5  |  y: -296.250
x:  7.6  |  y: -292.848
x:  7.7  |  y: -288.934
x:  7.8  |  y: -284.496
x:  7.9  |  y: -279.522
x:  8.0  |  y: -274.000
x:  8.1  |  y: -267.918
x:  8.2  |  y: -261.264
x:  8.3  |  y: -254.026
x:  8.4  |  y: -246.192
x:  8.5  |  y: -237.750
x:  8.6  |  y: -228.688
x:  8.7  |  y: -218.994
x:  8.8  |  y: -208.656
x:  8.9  |  y: -197.662
x:  9.0  |  y: -186.000
x:  9.1  |  y: -173.658
x:  9.2  |  y: -160.624
x:  9.3  |  y: -146.886
x:  9.4  |  y: -132.432
x:  9.5  |  y: -117.250
x:  9.6  |  y: -101.328
x:  9.7  |  y:  -84.654
x:  9.8  |  y:  -67.216
x:  9.9  |  y:  -49.002
x: 10.0  |  y:  -30.000
x: 10.1  |  y:  -10.198
x: 10.2  |  y:   10.416
x: 10.3  |  y:   31.854
x: 10.4  |  y:   54.128
x: 10.5  |  y:   77.250
x: 10.6  |  y:  101.232
x: 10.7  |  y:  126.086
x: 10.8  |  y:  151.824
x: 10.9  |  y:  178.458
x: 11.0  |  y:  206.000
x: 11.1  |  y:  234.462
x: 11.2  |  y:  263.856
x: 11.3  |  y:  294.194
x: 11.4  |  y:  325.488
x: 11.5  |  y:  357.750
x: 11.6  |  y:  390.992
x: 11.7  |  y:  425.226
x: 11.8  |  y:  460.464
x: 11.9  |  y:  496.718
x: 12.0  |  y:  534.000

Startwert: 0.5
x:  1.31250000  |  y: -3.25000000
x:  2.12500000  |  y: -3.25000000
x:  2.93750000  |  y: -3.25000000
x:  3.75000000  |  y: -3.25000000
x:  4.56250000  |  y: -3.25000000
x:  5.37500000  |  y: -3.25000000
x:  6.18750000  |  y: -3.25000000
x:  7.00000000  |  y: -3.25000000
x:  7.81250000  |  y: -3.25000000
x:  8.62500000  |  y: -3.25000000
x:  9.43750000  |  y: -3.25000000
x: 10.25000000  |  y: -3.25000000
x: 11.06250000  |  y: -3.25000000
x: 11.87500000  |  y: -3.25000000
x: 12.68750000  |  y: -3.25000000
x: 13.50000000  |  y: -3.25000000
x: 14.31250000  |  y: -3.25000000
x: 15.12500000  |  y: -3.25000000
x: 15.93750000  |  y: -3.25000000
x: 16.75000000  |  y: -3.25000000
x: 17.56250000  |  y: -3.25000000
x: 18.37500000  |  y: -3.25000000
x: 19.18750000  |  y: -3.25000000
x: 20.00000000  |  y: -3.25000000
x: 20.81250000  |  y: -3.25000000
max. Iterationsanzahl erreicht, keine Loesung gefunden!

WERTETABELLE
x:  0.5  |  y:   -3.250
x:  0.6  |  y:   -2.840
x:  0.7  |  y:   -2.410
x:  0.8  |  y:   -1.960
x:  0.9  |  y:   -1.490
x:  1.0  |  y:   -1.000
x:  1.1  |  y:   -0.490
x:  1.2  |  y:    0.040
x:  1.3  |  y:    0.590
x:  1.4  |  y:    1.160
x:  1.5  |  y:    1.750
x:  1.6  |  y:    2.360
x:  1.7  |  y:    2.990
x:  1.8  |  y:    3.640
x:  1.9  |  y:    4.310
x:  2.0  |  y:    5.000
x:  2.1  |  y:    5.710
x:  2.2  |  y:    6.440
x:  2.3  |  y:    7.190
x:  2.4  |  y:    7.960
x:  2.5  |  y:    8.750
x:  2.6  |  y:    9.560
x:  2.7  |  y:   10.390
x:  2.8  |  y:   11.240
x:  2.9  |  y:   12.110
x:  3.0  |  y:   13.000
x:  3.1  |  y:   13.910
x:  3.2  |  y:   14.840
x:  3.3  |  y:   15.790
x:  3.4  |  y:   16.760
x:  3.5  |  y:   17.750
x:  3.6  |  y:   18.760
x:  3.7  |  y:   19.790
x:  3.8  |  y:   20.840
x:  3.9  |  y:   21.910
x:  4.0  |  y:   23.000
x:  4.1  |  y:   24.110
x:  4.2  |  y:   25.240
x:  4.3  |  y:   26.390
x:  4.4  |  y:   27.560
x:  4.5  |  y:   28.750
x:  4.6  |  y:   29.960
x:  4.7  |  y:   31.190
x:  4.8  |  y:   32.440
x:  4.9  |  y:   33.710
x:  5.0  |  y:   35.000
x:  5.1  |  y:   36.310
x:  5.2  |  y:   37.640
x:  5.3  |  y:   38.990
x:  5.4  |  y:   40.360
x:  5.5  |  y:   41.750
x:  5.6  |  y:   43.160
x:  5.7  |  y:   44.590
x:  5.8  |  y:   46.040
x:  5.9  |  y:   47.510
x:  6.0  |  y:   49.000
x:  6.1  |  y:   50.510
x:  6.2  |  y:   52.040
x:  6.3  |  y:   53.590
x:  6.4  |  y:   55.160
x:  6.5  |  y:   56.750
x:  6.6  |  y:   58.360
x:  6.7  |  y:   59.990
x:  6.8  |  y:   61.640
x:  6.9  |  y:   63.310
x:  7.0  |  y:   65.000
x:  7.1  |  y:   66.710
x:  7.2  |  y:   68.440
x:  7.3  |  y:   70.190
x:  7.4  |  y:   71.960
x:  7.5  |  y:   73.750
x:  7.6  |  y:   75.560
x:  7.7  |  y:   77.390
x:  7.8  |  y:   79.240
x:  7.9  |  y:   81.110
x:  8.0  |  y:   83.000
x:  8.1  |  y:   84.910
x:  8.2  |  y:   86.840
x:  8.3  |  y:   88.790
x:  8.4  |  y:   90.760
x:  8.5  |  y:   92.750
x:  8.6  |  y:   94.760
x:  8.7  |  y:   96.790
x:  8.8  |  y:   98.840
x:  8.9  |  y:  100.910
x:  9.0  |  y:  103.000
x:  9.1  |  y:  105.110
x:  9.2  |  y:  107.240
x:  9.3  |  y:  109.390
x:  9.4  |  y:  111.560
x:  9.5  |  y:  113.750
x:  9.6  |  y:  115.960
x:  9.7  |  y:  118.190
x:  9.8  |  y:  120.440
x:  9.9  |  y:  122.710
x: 10.0  |  y:  125.000
x: 10.1  |  y:  127.310
x: 10.2  |  y:  129.640
x: 10.3  |  y:  131.990
x: 10.4  |  y:  134.360
x: 10.5  |  y:  136.750
x: 10.6  |  y:  139.160
x: 10.7  |  y:  141.590
x: 10.8  |  y:  144.040
x: 10.9  |  y:  146.510
x: 11.0  |  y:  149.000
x: 11.1  |  y:  151.510
x: 11.2  |  y:  154.040
x: 11.3  |  y:  156.590
x: 11.4  |  y:  159.160
x: 11.5  |  y:  161.750
x: 11.6  |  y:  164.360
x: 11.7  |  y:  166.990
x: 11.8  |  y:  169.640
x: 11.9  |  y:  172.310
x: 12.0  |  y:  175.000

Startwert: -2.0
x: -1.44897959  |  y:-54.00000000
x: -0.89795918  |  y:-54.00000000
x: -0.34693878  |  y:-54.00000000
x:  0.20408163  |  y:-54.00000000
x:  0.75510204  |  y:-54.00000000
x:  1.30612245  |  y:-54.00000000
x:  1.85714286  |  y:-54.00000000
x:  2.40816327  |  y:-54.00000000
x:  2.95918367  |  y:-54.00000000
x:  3.51020408  |  y:-54.00000000
x:  4.06122449  |  y:-54.00000000
x:  4.61224490  |  y:-54.00000000
x:  5.16326531  |  y:-54.00000000
x:  5.71428571  |  y:-54.00000000
x:  6.26530612  |  y:-54.00000000
x:  6.81632653  |  y:-54.00000000
x:  7.36734694  |  y:-54.00000000
x:  7.91836735  |  y:-54.00000000
x:  8.46938776  |  y:-54.00000000
x:  9.02040816  |  y:-54.00000000
x:  9.57142857  |  y:-54.00000000
x: 10.12244898  |  y:-54.00000000
x: 10.67346939  |  y:-54.00000000
x: 11.22448980  |  y:-54.00000000
x: 11.77551020  |  y:-54.00000000
max. Iterationsanzahl erreicht, keine Loesung gefunden!

Startwert: 1.0
x:  1.15000000  |  y:  6.00000000
x:  1.30000000  |  y:  6.00000000
x:  1.45000000  |  y:  6.00000000
x:  1.60000000  |  y:  6.00000000
x:  1.75000000  |  y:  6.00000000
x:  1.90000000  |  y:  6.00000000
x:  2.05000000  |  y:  6.00000000
x:  2.20000000  |  y:  6.00000000
x:  2.35000000  |  y:  6.00000000
x:  2.50000000  |  y:  6.00000000
x:  2.65000000  |  y:  6.00000000
x:  2.80000000  |  y:  6.00000000
x:  2.95000000  |  y:  6.00000000
x:  3.10000000  |  y:  6.00000000
x:  3.25000000  |  y:  6.00000000
x:  3.40000000  |  y:  6.00000000
x:  3.55000000  |  y:  6.00000000
x:  3.70000000  |  y:  6.00000000
x:  3.85000000  |  y:  6.00000000
x:  4.00000000  |  y:  6.00000000
x:  4.15000000  |  y:  6.00000000
x:  4.30000000  |  y:  6.00000000
x:  4.45000000  |  y:  6.00000000
x:  4.60000000  |  y:  6.00000000
x:  4.75000000  |  y:  6.00000000
max. Iterationsanzahl erreicht, keine Loesung gefunden!

Startwert: 50.0
x: 34.62905957  |  y:199730.00000000
x: 19.25811913  |  y:199730.00000000
x:  3.88717870  |  y:199730.00000000
x:-11.48376174  |  y:199730.00000000
x:-26.85470217  |  y:199730.00000000
x:-42.22564260  |  y:199730.00000000
x:-57.59658304  |  y:199730.00000000
x:-72.96752347  |  y:199730.00000000
x:-88.33846391  |  y:199730.00000000
x:-103.70940434  |  y:199730.00000000
x:-119.08034477  |  y:199730.00000000
x:-134.45128521  |  y:199730.00000000
x:-149.82222564  |  y:199730.00000000
x:-165.19316608  |  y:199730.00000000
x:-180.56410651  |  y:199730.00000000
x:-195.93504694  |  y:199730.00000000
x:-211.30598738  |  y:199730.00000000
x:-226.67692781  |  y:199730.00000000
x:-242.04786825  |  y:199730.00000000
x:-257.41880868  |  y:199730.00000000
x:-272.78974911  |  y:199730.00000000
x:-288.16068955  |  y:199730.00000000
x:-303.53162998  |  y:199730.00000000
x:-318.90257042  |  y:199730.00000000
x:-334.27351085  |  y:199730.00000000
max. Iterationsanzahl erreicht, keine Loesung gefunden!