Java-Programm zur Berechnung globaler Minimas und Maximas-ff

Status
Nicht offen für weitere Antworten.
P

Plonkman

Gast
Guten Tag, ich habe nun ein Programm geschrieben das mir von einer polynomfunktion das globale minima und maxima errechnen soll. Nun bin ich aber an einem Punkt angelangt wo ich nicht mehr weiterkomme, die Berechnung ist das Problem. Als Anhang habe ich den Quellcode des Programms beigelegt!

Code:
/******************************************************

             Autor: Plonkman
        Erstellungsdatum: 07.12.2006
  Letztes Änderungsdatum: 16.12.2006

******************************************************/
import java.awt.*;
import java.awt.event.*;
import java.text.*;


class fenster extends Frame
{
	
			
	private Button btn_start;
	private Button btn_graduebernahme;
	private Button btn_werte;
	private TextField gradeingabe;
	private TextField globmaximum;
	private TextField globminimum;
	private TextField lokmaximum;
	private TextField lokminimum;
	private Label grad;
	private Label labelglobmax;
	private Label labelglobmin;
	private Label labellokmax;
	private Label labellokmin;
	private Label funktion;
	private Label leer;
	private Label leer2;
	private Label[] labels;
	private String zwischentext;
	private int grad2;
	private NumberFormat nf;
	private TextField[] txfelder;
	private int i;
	private Panel panel;
	private Panel panel2;
	
	
	
	// ActionListener der Komponenten definieren
	class B_ActionListener implements ActionListener
	{
		public void actionPerformed(ActionEvent e)
		{
		
			zwischentext = gradeingabe.getText();
		    grad2 = Integer.parseInt(zwischentext)+1;
		    txfelder=new TextField[grad2];
		    labels= new Label[grad2];
		    
		    for(int i = 0; i<grad2; i++)
		    {
		    	txfelder[i]=new TextField();
		    	panel.add(txfelder[i]);
		    	labels[i]=new Label("x"+(grad2-i-1));
		    	panel.add(labels[i]);
		    	panel.validate();
		    	System.out.println("in schleife");
		    }
	
			System.out.println("ausser schleife");
	
			
		}
	}
	
	class C_ActionListener implements ActionListener
	{
		public void actionPerformed(ActionEvent e)
		{
 			
 			String gleichung;
 			gleichung = txfelder[0];
 			
 			
 			funktion.setText(gleichung);
 			
		}
	}
	
	
	// Berechnung DIO CAN!
	
	class D_ActionListener implements ActionListener
	{
		public void actionPerformed(ActionEvent e)
		{
			System.out.println("Ich kriegs in die Nerven");
		}
	}
	
	
	
	// WindowListener zum Schließen des Fensters
	class W_WindowListener extends WindowAdapter
	{
		public void windowClosing(WindowEvent e)
		{
			// Das Programm beenden
			System.exit(0);
		}
	}
	
	
	
	// Konstruktor des Fensters
	fenster(String titel)
	{
		// Konstruktor der Basisklasse aufrufen
		super(titel);
		
		
		// Instanzen der verschiedenen Komponenten erzeugen
		leer = new Label("");
		leer2 = new Label("");
		btn_werte = new Button("Werte übernehmen!");
		btn_start = new Button("<-- START -->");
		btn_graduebernahme = new Button("[Grad übernehmen]");
		grad = new Label("Geben Sie den Grad der Funktion ein:");
		gradeingabe = new TextField("");
		funktion = new Label("");
		labelglobmax = new Label("Globales Maximum:");
		labelglobmin = new Label("Globales Minimum:");
		labellokmax = new Label("Lokales Maximum:");
		labellokmin = new Label("Lokales Minimum:");
		globmaximum = new TextField("");
		globminimum = new TextField("");
		lokmaximum = new TextField("");
		lokminimum = new TextField("");		
		panel = new Panel();
		panel2 = new Panel();
		// Layout-Manager zum Anordnen der Komponenten
		setLayout(new GridLayout(2,1));
		panel2.setLayout(new GridLayout(7,2));
		
		
		// Komponenten zum Fenster hinzufügen (registrieren)
		panel.setBackground(java.awt.Color.red);
		
		
				
		
		panel2.add(grad);
		panel2.add(gradeingabe);
		panel2.add(btn_graduebernahme);
		panel2.add(leer2);
		panel2.add(btn_start);
		panel2.add(leer);
		panel2.add(labelglobmax);
		panel2.add(globmaximum);
		panel2.add(labelglobmin);
		panel2.add(globminimum);
		panel2.add(labellokmax);
		panel2.add(lokmaximum);
		panel2.add(labellokmin);
		panel2.add(lokminimum);
		
		
		panel.add(btn_werte);
		panel.add(funktion);
		add(panel2);
		add(panel);
		// Actionslistener der Komponenten registrieren
		
		btn_graduebernahme.addActionListener(new B_ActionListener());
		btn_werte.addActionListener(new C_ActionListener());
		
		// den Frame bei einem WindowListener registrieren
		addWindowListener(new W_WindowListener());
		
	}
}
class projekt
{
	
	public static void main(String[] args)
	{
		// Instanz der Fensterklasse anlegen
		fenster F1 = new fenster("Projekt, Hecher, Verdorfer, Aichner, Raffin");
		F1.setSize(640,480);
		F1.pack();
		F1.setVisible(true);
		
	}
}

// EOF: fenster_template.java

also wenn man beim programm oben den grad eingibt und uebernimmt so erscheinen die einzelnen textfields wo man die werte der polynomfunktion eingeben kann. Jedoch wie errechne ich nun globales minimum und maximum?

Ich bitte um Hilfe.

mfg.
Plonkman
 

SnooP

Top Contributor
1. immer noch: globales Minimum/Maximum und mehrere Minima und Maxima!

2. du hast also die GUI geschrieben... okay... hast du dir denn Gedanken gemacht, wie man das eigentliche Problem lösen könnte? Wie berechnet man denn per Hand Minima/Maxima einer Funktion?
Was für Vorraussetzungen sind gegeben an diese Funktion - offensichtlich handelt es sich immer um ein Polynom, d.h. um Funktionen die in etwa so aussehen: 3x^3+2x^2+x-5 ?
 
P

Plonkman

Gast
bingo genau so sollte z.b. eine funktion aussehen. ich habe mal an eine wertetabelle gedacht aber ich glaube das haut nicht so ganz hin!
 

SnooP

Top Contributor
Naja die Wertetabelle wäre für's Zeichnen schon ganz angebracht... du machst dir ne variablen Schrittlänge und berechnest dann von den mit anzugebenden Grenzen (z.B. -5, +5 Schrittlänge 0,1) alle Werte dazwischen und kannst die Punkte dann schonmal zeichnen... - je kleiner du die Schrittlänge wählst, desto hübscher wird die kurve ;)

zum Berechnen der Minima/Maxima... normalerweise macht man das ja so, dass man die Nullstellen der 1. Ableitung berechnet... - mathematisch Lösen kann man das bei Funktionen 3. Grades noch sehr easy über die p-q-Formel... danach wird das Berechnen der Nullstellen aber schwieriger... daher gehe ich mal davon aus (wenn du auch größere Funktionen n-ten Grades berechnen sollst), dass du die Nullstellen numerisch berechnen musst... dafür gibt es versch. Methoden, wie z.B. das Newton-Verfahren, über das du dir mal Informationen einholen solltest... z.B. über die wikipedia.
 
P

Plonkman

Gast
koenntest du mir bitte ein praktisches beispiel liefern, wenn moeglich auch mit code?
tausend dank.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Output Fehler (Java-Programm Kuchen) Allgemeine Java-Themen 11
S Java Programm lässt sich vom USB-Stick starten, aber nicht von HDD Allgemeine Java-Themen 16
A Java Programm erstellen hilfe Allgemeine Java-Themen 10
B Java Programm auf virutellem Desktop laufen lassen? Allgemeine Java-Themen 1
L Java überprüfen lassen, ob sich ein gegebener Pfad / das Programm an sich auf einer CD oder Festplatte befindet Allgemeine Java-Themen 14
J c Programm läuft nicht in compilierter Version des Java Projektes Allgemeine Java-Themen 7
Dann07 Java-Programm findet DLLs nicht! Allgemeine Java-Themen 20
P USER Management in SQL übergreifend auf JAVA Programm Allgemeine Java-Themen 41
D Verkauf von einem Programm welches ich in Java geschrieben habe Allgemeine Java-Themen 4
D Boolean von ein anderem Java Programm während der Laufzeit ändern Allgemeine Java-Themen 23
L Excel Datei löscht sich selbst im Programm - Java Allgemeine Java-Themen 3
ralfb1105 Starten Java App(s) (.jar) aus einem Java Programm Allgemeine Java-Themen 18
temi Java Programm aus einer DB laden und starten Allgemeine Java-Themen 2
E Java Programm mit Clients erweitern - Möglichkeiten? Allgemeine Java-Themen 2
J Java "Bank Programm" Brauche eure Hilfe Allgemeine Java-Themen 3
S Java Programm (Spiel mit den Boxen) Allgemeine Java-Themen 1
A Java Programm verbessern/vereinfachen Allgemeine Java-Themen 20
E Mit Java ein Python Programm starten Allgemeine Java-Themen 20
Q-bert Daten von Java Programm speichern Allgemeine Java-Themen 4
P Schnittstelle java Programm zu Webserver / Browser Allgemeine Java-Themen 2
Blender3D Java Swing Programm Windows 10 Autostart Problem Allgemeine Java-Themen 2
F Java-Programm lizensieren Allgemeine Java-Themen 21
T Java Programm in Internetseite? Allgemeine Java-Themen 4
T Java Programm frisst RAM Allgemeine Java-Themen 6
H Alter Java-Programm läuft nicht mehr. Laut strace fehlt libpthread.so.0 Allgemeine Java-Themen 3
L Java-Programm Zahlenkombinationen ausgeben Allgemeine Java-Themen 10
T Java Programm sauber beenden (Mac OS) Allgemeine Java-Themen 7
F In OSX: Java-Programm über URI-Scheme aufrufen mit Parameter? Allgemeine Java-Themen 0
itwestnet Mein Java-Programm läuft nicht in China Allgemeine Java-Themen 4
B SMS von Vodafone Mobile Connest mit JAVA-Programm lesen Allgemeine Java-Themen 0
J Java Auf anderes Programm warten Allgemeine Java-Themen 9
R Java .class-File-Konstrunkt mit Programm visualisieren Allgemeine Java-Themen 18
Developer_X OpenStreetMap in Java Programm einbinden Allgemeine Java-Themen 10
Developer_X Java Programm Beenden Allgemeine Java-Themen 3
T Dateien zur Laufzeit in Java-Programm packen? Allgemeine Java-Themen 3
S Java-Programm verbraucht zu viel RAM Allgemeine Java-Themen 8
S Java-Programm für "Börsenanalyse" schreiben Allgemeine Java-Themen 4
U Eclipse Java Programm beschädigt .tar.gz dateien beim Entpacken Allgemeine Java-Themen 7
M Problem mit (etwas komplizierterem) Java Programm Allgemeine Java-Themen 14
L Prüfen, ob Programm über 32bit oder 64bit Java ausgeführt wird Allgemeine Java-Themen 4
J Java Programm - ausführbare Jar Datei erstellen Allgemeine Java-Themen 2
C Programm von C++ auf Java umschreiben Allgemeine Java-Themen 27
J Java-Programm Allgemeine Java-Themen 13
I Java-Programm: Zahlen in Worte Allgemeine Java-Themen 22
P Check, welche Java Version installiert bevor ein Programm ausgeführt wird. Allgemeine Java-Themen 12
Java-Insel Wie kann ich ein Java-Programm zum "automatischen Öffner" einer Dateisorte machen? Allgemeine Java-Themen 13
O Java-Programm lastet CPU aus Allgemeine Java-Themen 8
C Registration im Web mit Java-Programm durchführen Allgemeine Java-Themen 6
R Java Programm beenden mit SIGTERM Allgemeine Java-Themen 9
T Java Programm als Batch Befehl Allgemeine Java-Themen 6
G Runtime.exec beendet Programm unter Linux, wenn Java Programm beendet wird Allgemeine Java-Themen 3
H Java-Programm nur mit SDK ausführbar? Allgemeine Java-Themen 5
C Java Programm über SSH starten Allgemeine Java-Themen 16
S jar Datei mit Java Programm öffnen Allgemeine Java-Themen 3
J Java-Programm im Hintergrund Allgemeine Java-Themen 3
Jackii Java Programm aus anderen Java Programm starten Allgemeine Java-Themen 20
Madlip Erste Schritte Java speichert Daten im Programm?!? Allgemeine Java-Themen 9
G Java Programm aus Java Programm starten Allgemeine Java-Themen 6
M Wie Java Programm mit grafischen Oberfläche versehen Allgemeine Java-Themen 2
JAVATUX Java Programm mit ATI Stream Unterstützung Allgemeine Java-Themen 3
J Java programm lässt sich in win7 nach linux install nicht mehr ausführen Allgemeine Java-Themen 18
C Mit Java in einem anderes Programm eingreifen Allgemeine Java-Themen 21
S C++/C KeyListener zusammen mit Java Programm Allgemeine Java-Themen 4
S Java Programm -System Neustart überleben? Allgemeine Java-Themen 3
S Brauche Hilfe bei Planung für JAVA-Programm Allgemeine Java-Themen 3
T Java Programm aus anderem Java Programm starten Allgemeine Java-Themen 13
J Eclipse Java Programm aus anderem Java Programm starten Allgemeine Java-Themen 14
F Anderes Java-Programm aufrufen Allgemeine Java-Themen 2
B Excel Datei in einem Java Programm mit GUI darstellen Allgemeine Java-Themen 9
M Java Programm als Dienst starten... Allgemeine Java-Themen 4
A Installation von Java ME Programm auf Sony Ericsson Handy Allgemeine Java-Themen 3
M Rein informativ - Daten aus Excel-Tabelle in Java-Programm importieren Allgemeine Java-Themen 3
J Installer für Java-Programm Allgemeine Java-Themen 5
N Programm starter in Java? Allgemeine Java-Themen 12
X Aus Java Applikation externes Programm starten Allgemeine Java-Themen 3
T Mit JNI von C++ auf ein laufendes Java-Programm zugreifen Allgemeine Java-Themen 10
H aus Java-Programm Dateien öffnen Allgemeine Java-Themen 5
Z Java Programm - xxxxx auf der Konsole ausgeben Allgemeine Java-Themen 4
T cpp Programm via jna in java nutzen Allgemeine Java-Themen 3
M Variablen an Java-Programm übergeben Allgemeine Java-Themen 3
G Java Programm mit Freischalt code entwickeln Allgemeine Java-Themen 30
clupus Meldung an laufendes Java-Programm schicken - Wie? Allgemeine Java-Themen 6
E Zweites Java Programm sichtbar starten Allgemeine Java-Themen 4
T Mit Java Programm auf Firefox zugreifen Allgemeine Java-Themen 2
Airwolf89 *.exe mit java programm ausführen Allgemeine Java-Themen 1
V Java-Programm automatisch starten Allgemeine Java-Themen 2
MQue aktuelle Wetterdaten für Java- Programm Allgemeine Java-Themen 9
O Programm mittels Java installieren Allgemeine Java-Themen 15
K Java Chat Programm Allgemeine Java-Themen 2
M Java programm über cmd öffnen Allgemeine Java-Themen 2
Schandro Datei öffnen mit... Bestimmten Dateityp mit einen Java-Programm öffnen lassen Allgemeine Java-Themen 5
N Per Java-Programm onClick ausführen Allgemeine Java-Themen 5
D mit Java das Programm "Editor" öffnen Allgemeine Java-Themen 7
M Wie Java-Programm über Batch-file starten? Allgemeine Java-Themen 8
G Logikhindernisse im Java- Programm Allgemeine Java-Themen 6
V Java-Programm nur "mit halber Kraft" arbeiten lass Allgemeine Java-Themen 11
_SeiA_ Hilfe Kleines Java Programm schreiben. Summen. Allgemeine Java-Themen 3
G Java- Programm mit bat- Datei starten Allgemeine Java-Themen 16
V Java-Programm richtig neustarten? Allgemeine Java-Themen 9
G JDBC Programm und niedrige Java-Versionen Allgemeine Java-Themen 14

Ähnliche Java Themen

Neue Themen


Oben