Zeichnen Sie die kubische Gleichung

in einem vorgegebenen Intervall. Zeichnen Sie auch die Koordinatenachsen ein.
Lösung
Zur Lösung dieser Aufgabe wird die Datei unibwm.jar benötigt. Sie kann in der Eclipse Umgebung in den Projektoptionen unter “add external jar” hinzugefügt werden.
import java.util.Scanner; // Scanner für die Eingabe von Werten
import unibwm.*; // Grafik für die Ausgabe des Polynoms
public class Aufgabe21
{
static final int iFaktor = 10; // streckt die Kurve
public static double PolynomWert(double a, double b, double c
, double d, double x)
{ // Berechnet den Wert des Polynoms an der Stelle x
return (a * (x*x*x)+b * (x*x)+c * x+d);
} // end PolynomWert
public static Grafik ZeichnePolynom(double a, double b, double c
, double d, double dLinkeGrenze, double dRechteGrenze)
{ // Zeichnet das Polynom im gewählten Intervall
// Variablen Deklaration
double dMin, dMax;
Grafik gfkAusgabe = new Grafik();
// Variablen Initialisierung
dMin = 0;
dMax = 0;
// Berechnung des Polynoms an allen Stellen im Intervall
for (double dPos = dLinkeGrenze; dPos < dRechteGrenze;
dPos += 1. / iFaktor)
{
gfkAusgabe.addLine(dPos * iFaktor, PolynomWert(a, b, c, d, dPos),
(dPos+1. / iFaktor) * iFaktor,
PolynomWert(a, b, c, d, dPos+1. / iFaktor));
if (PolynomWert(a, b, c, d, dPos) < dMin)
dMin = PolynomWert(a, b, c, d, dPos);
if (PolynomWert(a, b, c, d, dPos+.1) > dMax)
dMax = PolynomWert(a, b, c, d, dPos);
} // end for
// Zeichnen des Koordinatensystems
gfkAusgabe.addLine(dLinkeGrenze * iFaktor, 0,
dRechteGrenze * iFaktor, 0);
gfkAusgabe.addLine(0, dMin, 0, dMax);
return gfkAusgabe;
} // end ZeichnePolynom
public static void main(String[] args)
{
//Variablen Deklaration
double a, b, c, d, dLinkeGrenze, dRechteGrenze;
Scanner scnEingabe = new Scanner(System.in);
// Variablen Initialisierung
System.out.println("Bitte Werte eingeben für a, b, c, d:");
a = scnEingabe.nextDouble();
b = scnEingabe.nextDouble();
c = scnEingabe.nextDouble();
d = scnEingabe.nextDouble();
System.out.println("Bitte linke und rechte Grenze eingeben:");
dLinkeGrenze = scnEingabe.nextDouble();
dRechteGrenze = scnEingabe.nextDouble();
// Zeichnen des Polynoms mit eingegebenen Werten
ZeichnePolynom(a, b, c, d, dLinkeGrenze, dRechteGrenze).show("asd");
} // end main
} // end class


