Integral Rekursiv

emulb

Mitglied
Ich soll eine rekursive Java Methode implementieren zur Näherungsweise Berechnung des Integrals
f(x)=x^2 auf dem Intervall von [0,1]. Die Trapezberechnung soll angewendet werden, falls die Intervallbreite <= 0.01 ist.

Ich hab ein Code von einer Freundin bekommen und ich frag mich gerade ob das so stimmt. Wo schreib ich rein, dass es sich um die Funktion x^2 handelt. Sobald ich es ausführe kommt eine Fehlermeldung die so lautet:

cannot find symbol static double integral (double a, double b, int n, Funktion f)

symbol: class Funktion
location: class Trapezregel

hier mein Code:

Java:
public class Trapezregel {
 
  static double integral (double a, double b, int n, Funktion f) {
    
    double h = (b-a)/n; 
    
    double summe = f.auswerten(a)/2 + f.auswerten(b)/2; 
    
    double ti = a+h; // Stuetzstellen t[i] = a+h, a+2*h, ...
    
    for (int i=1; i<n; ti+=h, i++) 
      summe += f.auswerten(ti); 
      
    return h*summe; 
  }
}
 

HimBromBeere

Top Contributor
Die Klasse Funktion ist genau das, was du gefragt hast (in deinem Fall x^2), d.h. du müsstest entweder deine Freundin nach der Klasse fragen, oder fix mal selbst eine schreiben mit der Methode auswerten, in der du den Funktionswert der Funktion an der Stelle x ausrechnest...

EDIT:
Java:
class Funktion {
    public static double auswerten(double x) {return x * x;} 
}
 
Zuletzt bearbeitet:

HimBromBeere

Top Contributor
Genaugenommen kannst du dir das Übergeben der Funktion sogar sparen, da die ja sowieso nur eine einzige statisce Methode besitzt. Du müsstest dann in deinem Code nur sowas schreiben wie
Java:
double summe = Funktion.auswerten(a)/2 + Funktion.auswerten(b)/2;

Aber ohne die Klasse Funktion zu kennen, kann das natrülich nur Kristallkugelphilophie werden...
 

truesoul

Top Contributor
Und was genau verstehst du nicht?
Was eine Methode ist?
Was in die Methode rein kommt?

Wie schon erwähnt, fehlt dir die Klasse Funktion in der es eine Methode gibt, die irgendwas auswerten soll ( laut Methodenbezeichnung ).

Mehr können wir dir auch nicht sagen, weil wir diese Klasse mit der besagten Methode auch noch nie gesehen haben.
 

emulb

Mitglied
Ich versteh gerade nicht was eine methode ist und wie sie aussehen kann...hab meine freundin auch gefragt, die es entworfen hat und die hat auch keine ahnung, wie schon gesagt.
 

AlexSpritze

Bekanntes Mitglied
Java:
public class Trapezregel {

public static interface Funktion{
  public double auswerten(double d);
}
 
  static double integral (double a, double b, int n, Funktion f) {
    
    double h = (b-a)/n; 
    
    double summe = f.auswerten(a)/2 + f.auswerten(b)/2; 
    
    double ti = a+h; // Stuetzstellen t[i] = a+h, a+2*h, ...
    
    for (int i=1; i<n; ti+=h, i++) 
      summe += f.auswerten(ti); 
      
    return h*summe; 
  }
}

Der Methode
Code:
integral
übergibst du dann eben die Werte, und als letzten Wert deine Funktion. Funktion ist zunächst einmal nur ein Interface, da du hier die Parabel hast, schaffst du mit folgendem Stück Code die x²-Funktion:

Java:
...
Funktion parabel = new Funktion() {
   public double auswerten(double d) {
       return d*d;
   }
};
integral(1.0, 2.0, 50, parabel);
 
Zuletzt bearbeitet:

HimBromBeere

Top Contributor
Eine Methode tut irgendwas mit dem Objekt, auf welchem sie angewendet wird (außer die Methode ist statisch, da gibt es ja keine Instanz, auf der gearbeitet werden kann, dann ist die "Instanz" die Klasse selbst). Oft erwarten Methoden Parameter um auf deren Grundlage den Zustand des Objektes zu verändern oder eine Ausgabe zu bauen. In deinem Fall gibt es eine MEthode auswerten(double), die als Parameter eine Kommazahl erwartet und deren Quadrat zurückgibt...
 

emulb

Mitglied
wow ok ich wollte gerade fragen für was interface steht aber ich habs verstanden. danke für die definition der methode..

ich habe noch Fehlermeldungen:

<identifier> expected
integral(1.0, 2.0, 50, parabel);

was sagt mir das?
 

HimBromBeere

Top Contributor
Also wenn ich
Java:
public class Trapezregel {
 
public static interface Funktion{
  public double auswerten(double d);
}
 
  static double integral (double a, double b, int n, Funktion f) {
    
    double h = (b-a)/n; 
    
    double summe = f.auswerten(a)/2 + f.auswerten(b)/2; 
    
    double ti = a+h; // Stuetzstellen t[i] = a+h, a+2*h, ...
    
    for (int i=1; i<n; ti+=h, i++) 
      summe += f.auswerten(ti); 
      
    return h*summe; 
  }
  
  public static void main(String[] args) {
	  Funktion parabel = new Funktion() {
		
		@Override
		public double auswerten(double d) {
			return d * d;
		}
	};
	  integral(1, 2, 50, parabel);
  }
}
schreibe und ausführe, bekomm ich keine Fehlermeldungen...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
X Monte Carlo Simulation (integral) Java Basics - Anfänger-Themen 4
M Integral in Java Java Basics - Anfänger-Themen 3
feuervogel Integral unter Verwendung der Java-Bibliothek berechnen Java Basics - Anfänger-Themen 10
H Passwort Brute Force rekursiv Java Basics - Anfänger-Themen 7
1 Array rekursiv durchlaufen Java Basics - Anfänger-Themen 8
E Rekursiv Objekte erzeugen - geht das? Java Basics - Anfänger-Themen 2
Cassy3 Binäre Bäume Rekursiv durchlaufen und bestimmte Elemente Zählen Java Basics - Anfänger-Themen 6
R0m1lly Kombinationen aus int array rekursiv Java Basics - Anfänger-Themen 2
L Rekursiv gegebenes Passwort herausfinden. Java Basics - Anfänger-Themen 2
P9cman Char Index rekursiv finden Java Basics - Anfänger-Themen 4
B Methoden Rekursiv festellen, ob eine Zahl gerade-oft vorkommt oder nicht Java Basics - Anfänger-Themen 4
S Methoden Methodenaufruf rekursiv zählen Java Basics - Anfänger-Themen 4
B Array nach Wert prüfen rekursiv Java Basics - Anfänger-Themen 5
sashady Zahlen rekursiv zerlegen und Ziffern addieren Java Basics - Anfänger-Themen 38
jhCDtGVjcZGcfzug Fibonacci Zahlen rekursiv und iterativ Java Basics - Anfänger-Themen 21
H Binominalkoeffizient tail-rekursiv in java darstellen Java Basics - Anfänger-Themen 0
GAZ Tribonacci Folge Rekursiv Java Basics - Anfänger-Themen 11
G Primzahlen von Rekursiv nach Iterativ Java Basics - Anfänger-Themen 6
A Ackermmanfunktion rekursiv Java Basics - Anfänger-Themen 4
A Binärbaum rekursiv durchsuchen und Referenz zurückgeben Java Basics - Anfänger-Themen 4
H Rekursiv Methode ausführen bei Kindern Java Basics - Anfänger-Themen 12
G Methode Rekursiv umschreiben Java Basics - Anfänger-Themen 8
L Jede zweite Ziffer entfernen (rekursiv) Java Basics - Anfänger-Themen 6
J Dateien in Verzeichnissen rekursiv auflisten wirft Exception Java Basics - Anfänger-Themen 4
D Pentagonale Nummern in Rekursiv Java Basics - Anfänger-Themen 14
O Enum Array Rekursiv abarbeiten Java Basics - Anfänger-Themen 44
E Weg-Suche-Problem rekursiv Java Basics - Anfänger-Themen 12
O Primzahl rekursiv mit einem Wert ohne i, wie? Java Basics - Anfänger-Themen 6
E Erste Schritte Potenz Negativ (rekursiv) Java Basics - Anfänger-Themen 2
O Rekursiv aufrufen Java Basics - Anfänger-Themen 2
F In List Rekursiv suchen Java Basics - Anfänger-Themen 12
F Iterativ in Rekursiv Java Basics - Anfänger-Themen 2
S Fibonacci Zahlen rekursiv Java Basics - Anfänger-Themen 1
L Rekursiv zwei Strings vergleichen Java Basics - Anfänger-Themen 3
B Fakultätsfunktion Rekursiv Berechnen aber mit Array Java Basics - Anfänger-Themen 10
J Fibonacci -Folge rekursiv berechnen Java Basics - Anfänger-Themen 18
B Wie kann ich Linien rekursiv zeichnen? Java Basics - Anfänger-Themen 4
kilopack15 Sin(x) rekursiv lösen Java Basics - Anfänger-Themen 17
T Rekursiv Tiefe eines binären Suchbaums ermitteln Java Basics - Anfänger-Themen 22
P Methoden Arrays.AsList kleinste Zahl ausgeben Rekursiv Java Basics - Anfänger-Themen 9
W A hoch N Rekursiv Java Basics - Anfänger-Themen 3
K Rechtecke rekursiv zeichnen Java Basics - Anfänger-Themen 20
V Quadrate rekursiv zeichnen Java Basics - Anfänger-Themen 7
M Fibonacci rekursiv mittels Cache Java Basics - Anfänger-Themen 17
E Binärbaum - von rekursiv zu iterativ Java Basics - Anfänger-Themen 10
Y Rekursiv Palindrom herausfinden Java Basics - Anfänger-Themen 5
B Fibonacci Zahlen rekursiv Array Java Basics - Anfänger-Themen 12
M String rekursiv Spiegeln mit Originalwort davor Java Basics - Anfänger-Themen 3
K Türme von Hanoi - Rekursiv. Java Basics - Anfänger-Themen 1
T MergeSort rekursiv programmieren Java Basics - Anfänger-Themen 8
M Zahlenpyramide rekursiv programmieren Java Basics - Anfänger-Themen 7
hello_autumn Potenz selber berechnen, Rekursiv. Java Basics - Anfänger-Themen 6
V Text wüerfeln-Rekursiv Java Basics - Anfänger-Themen 4
J Baum rekursiv durchlaufen Java Basics - Anfänger-Themen 2
D Münzverteilung Möglichkeiten | Rekursiv Java Basics - Anfänger-Themen 3
R Hanoi rekursiv lösen Problem Java Basics - Anfänger-Themen 1
D Rekursiv Kombinationen ausgeben klappt nur bei einer Wiederholung Java Basics - Anfänger-Themen 4
shiroX OOP String rekursiv zurückgeben Java Basics - Anfänger-Themen 6
Z Fibonacci rekursiv meine Erklärung stimmt so? Java Basics - Anfänger-Themen 2
S java rekursiv iterativ hilfee :s Java Basics - Anfänger-Themen 5
E Erste Schritte Pi, rekursiv Java Basics - Anfänger-Themen 6
A Frage Methode ggt Rekursiv Java Basics - Anfänger-Themen 5
E Hanoi-Varianten rekursiv Java Basics - Anfänger-Themen 2
P Hanoi rekursiv zu iterativ umbauen Java Basics - Anfänger-Themen 20
P Mittelwert rekursiv Java Basics - Anfänger-Themen 13
M MergeSort rekursiv Java Basics - Anfänger-Themen 2
D Ziffer in Zahl Rekursiv Java Basics - Anfänger-Themen 4
B Array rekursiv untersuchen Java Basics - Anfänger-Themen 21
I Rekursiv Java Basics - Anfänger-Themen 13
C Rekursiv Zahlenfolgen berechnen mit zwei Variablen Java Basics - Anfänger-Themen 5
K Rekursiv zu Literal Java Basics - Anfänger-Themen 12
R Verzeichnisse rekursiv nach Dateiduplikaten durchsuchen Java Basics - Anfänger-Themen 5
L File Tree rekursiv Java Basics - Anfänger-Themen 10
W Binomialkoeffizient iterativ/rekursiv Java Basics - Anfänger-Themen 2
X Addition rekursiv ohne Schleife Java Basics - Anfänger-Themen 10
M Sudoku Rekursiv lösen Java Basics - Anfänger-Themen 9
E Datentypen ein java problem rekursiv loesen Java Basics - Anfänger-Themen 2
K indexOf selbst rekursiv definieren Java Basics - Anfänger-Themen 4
M Fibonacci-Linear und Rekursiv Java Basics - Anfänger-Themen 14
J Java Rekursiv vs(zu) Iterativ Hilfe Java Basics - Anfänger-Themen 3
D preOrder, inOrder, postOrder rekursiv zusammensetzen aus String Java Basics - Anfänger-Themen 1
K Binomialkoeffizient rekursiv berechnen Java Basics - Anfänger-Themen 8
J eulersche rekursiv berechnen Java Basics - Anfänger-Themen 6
J Suchbaumeigenschaft rekursiv programmieren Java Basics - Anfänger-Themen 3
T Rekursiv Vokale zählen Java Basics - Anfänger-Themen 19
G Bestimmte Ebene eines Baumes rekursiv ausgeben Java Basics - Anfänger-Themen 49
F Sortieralgorithmus von rekursiv auf iterativ? Java Basics - Anfänger-Themen 21
G Sudoku rekursiv lösen Java Basics - Anfänger-Themen 10
S Stringlänge Rekursiv ermitteln Java Basics - Anfänger-Themen 2
dognose Verzeichnis rekursiv auslesen / beschränkte Apis. Java Basics - Anfänger-Themen 6
0 a hoch b rekursiv - wie stoppen? Java Basics - Anfänger-Themen 3
T Ordnerstrucktur rekursiv auslesen Java Basics - Anfänger-Themen 9
G Rekursiv die größte Zahl eines Arrays Java Basics - Anfänger-Themen 6
G Rekursiv Array Elemente quadrieren Java Basics - Anfänger-Themen 2
N Fibo Zahlen:iterativ,rekursiv Anzahl der Additionen zählen Java Basics - Anfänger-Themen 2
P Permutationen einer Tour rekursiv Java Basics - Anfänger-Themen 4
G Baumstruktur rekursiv durchlaufen Java Basics - Anfänger-Themen 2
B Kürzesten Weg zwischen mehreren Punkten finden (rekursiv) Java Basics - Anfänger-Themen 5
L Kombinationen einer Menge rekursiv berechnen Java Basics - Anfänger-Themen 11
J BinBaum rekursiv ausgeben Java Basics - Anfänger-Themen 9

Ähnliche Java Themen

Neue Themen


Oben