// Gerade.java MM 2010 import Tools.IO.*; // Eingaben /** * Geradenfunktion f(x) = mx + n, D = W = R. */ public class Gerade extends DifferenzierbareFunktion { /* ------------------------------------------------- */ // Attribute /** * Anstieg m. */ private double m = 0; /** * Absolutglied n. */ private double n = 0; /* ------------------------------------------------- */ // set-Methoden /** * Setzt Koeffizienten m und n. * @param anstieg Anstieg * @param absolut Absolutglied */ public void setGerade( double anstieg, double absolut) { m = anstieg; n = absolut; } /** * Setzt Koeffizienten m und n * mittels Punktrichtungsgleichung. * @param anstieg Anstieg * @param x0 x-Kooerdinate eines Punktes * @param y0 y-Kooerdinate eines Punktes */ public void setGerade ( double anstieg, double x0, double y0) { m = anstieg; n = y0 - m * x0; } /** * Setzt Koeffizienten m und n, m <> n, * mittels Zweipunktegleichung. * @param x1 x-Kooerdinate eines Punktes * @param y1 y-Kooerdinate eines Punktes * @param x2 x-Kooerdinate eines zweiten Punktes * @param y2 y-Kooerdinate eines zweiten Punktes */ public void setGerade ( double x1, double y1, double x2, double y2) { m = ( y2 - y1) / ( x2 - x1); n = y1 - m * x1; } /** * Geradeneingabe ueber Konsole. */ public void konsolenEingabe() { // Eingabe der Geradenkoeffizienten System.out.println( "Geradeneingabe"); double anstieg = IOTools.readDouble( " Anstieg m = "); double absolut = IOTools.readDouble( " Absolutglied n = "); // Setzen der Geradenkoeffizienten setGerade( anstieg, absolut); } /* ------------------------------------------------- */ // service-Methoden /** * Berechnen eines Funktionswertes. * @param arg Argument * @return f( arg) */ public double wert( double arg) { return m * arg + n; } /** * Berechnen einer ersten Ableitung. * @param arg Argument * @return Wert der ersten Ableitung an der Stelle arg */ public double wertErsteAbleitung( double arg) { return m; } /* ------------------------------------------------- */ // toString-Methode /** * Darstellen der Funktion. * @return Funktion in linearer Schreibweise */ public String toString() { return m + "x + " + n; } }