Zum Inhalt springen

Javaprogramierung


erdemcorum19

Empfohlene Beiträge

Hallo Bei dieser Aufgabe konnte ich nicht weiterkommen. Bitte helfen mir weiter.......

Integralgleichungen tauchen in der Informatik und der Wirtschaftsmathematik häufig auf.

Die Fredholm’sche Integralgleichung hat folgende Gestalt:

a

f(t) = λ ∫ [ K(t,s) f(s) ds ] + g(t) wobei λ eine Konstante darstellt. (1)

b

Gesucht ist eine Funktion f(t), die die Gleichung (1 ) erfüllt. Die Funktionen K(t,s) und g(t) sind dabei vorgegeben; K(t,s ) sei eine beliebige Riemannintegrable Funktion auf [a,b].

Eine näherungsweise Lösung lässt sich numerisch bestimmen, indem das Integral mithilfe der Riemann’schen Summe approximiert und die Funktion f(t) an den N diskreten Punkten ti berechnet wird:

N

f(ti) = λ h ∑ K(ti , sj ) f(sj ) + g(ti )

j=1

Die Schrittweite h bestimmt den Abstand zwischen den Punkten ti , sj :

ti + 1 = ti + h , sj + 1 = sj + h

Damit ergibt sich das lineare Gleichungssystem

fi = λ h ∑ Kij fj + gi (2)

j

mit fi = f(ti ) , Kij = K(ti , sj ) , gi = g(ti ) oder in Matrixschreibweise:

( 1 - λ h K ) f = g (3)

Das Gleichungssystem kann mittels Gauss-Elimination gelöst werden.

Damit kann die Funktion f für beliebige x Є [ a, b] interpoliert werden.

Schreiben Sie ein Programm, das die Integralgleichung (1) zu beliebigen vorgegeben Funktionen K(t,s) näherungsweise löst. ( Vorraussetzung: K(t,s) ist Riemannintegrabel).

Die Funktionen K(t,s) und g(t) können als eigene Klassen realisiert werden.

( für eine mögliche Realisierung dazu siehe Vorlesung ).

Das Programm soll dabei die folgenden Funktionalitäten bereitstellen:

• Einlesen der Integrationsgrenzen a, b, sowie der Konstante λ und der Schrittweite h

• Das Programm soll so geschrieben werden, dass es auf beliebige – benutzerdefinierte - Funktionen K(t,s) , g(t) anwendbar ist

• Interpolation von f , das Interpolationsverfahren ist frei wählbar.

• Abspeicherung der Werte f(ti ) in einer Datei

• Abspeicherung der berechneten Werte für die Interpolationskurve ( z.B. die Koeffizienten für das Interpolationspolynom ) in einer Datei.

• Fehlerbehandlung mittels eigener Fehlerklasse, die von einer Java-Bibliotheksklasse abzuleiten ist. (das schliesst natürlich eine Fehlerbehandlung mittels try-catch ein)

• Grafische Dastellung der Lösungskurve im Intervall [a, b].

• Testen des Programms mit mindesten 3 verschiedenen Funktionen K und g, die Testergebnisse sind in der schriftlichen Ausarbeitung zu dokumentieren

Für die Gauss-Elimation von (3) kann eine OpenSource-Routine verwendet werden.

Beschreibung und Erläuterung des Codings und der Klassen in einer Projektdokumentation mit mindesten 15 Seiten Umfang ( exklusive Anhang ). Das Coding ist im Anhang ausgedruckt beizufügen.

Die Projektdokumentation ist entsprechend den Vorgaben der ersten Vorlesungwoche zu strukturieren.

Die Projektarbeit schliesst auch eine Präsentation und Erläuterung des Programmes mit ein

und ist unabhängig von der Teilnahme an den Laborübungen einzeln zu bearbeiten.

Hinweis: Um die Lösungskurve grafisch darzustellen, können Sie das folgende Codinggerüst verwenden. Schlagen Sie in der Online-Dokumentation die Bedeutung der Klassen und Methoden nach.

import java.awt.*; import java.awt.geom.*; import javax.swing.*;

public class PGA_2

{ public static void main(String[] args)

{

DrawFrame frame = new DrawFrame();

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.show();

}

}

/** Ein Rahmen, der eine Grundfläche mit Zeichnungen enthält*/

class DrawFrame extends JFrame

{ public DrawFrame()

{ setTitle("DrawTest");

setSize(WIDTH, HEIGHT);

// Grundfläche in Rahmen hinzufügen

DrawPanel panel = new DrawPanel();

Container contentPane = getContentPane();

contentPane.add(panel);

}

public static final int WIDTH = 400;

public static final int HEIGHT = 400;

}

/** Eine Grundfläche, die Rechtecke und Ellipsen anzeigt. */

class DrawPanel extends JPanel

{ public void paintComponent(Graphics g)

{ // Überschreiben der geerbten Methode

}

}

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Bei dieser Aufgabe konnte ich nicht weiterkommen. Bitte helfen mir weiter.......

Was heißt "weiterkommen"? Wie es aussieht, hast du nicht mal angefangen.

Niemand wird hier deine Hausaufgaben für dich machen. Und einfach nur die Aufgabenstellung abzuladen, gilt allgemein als unhöflich.

Stell bitte konkrete Fragen, und zeig, was du schon selbst geschafft hast, dann wird dir auch geholfen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...