// Arctan.java MM 2010 /** * Logarithmusfunktion f(x) = arctan( x), * D = R, W = ] -PI/2, PI/2[. */ public class Arctan extends DifferenzierbareFunktion { /* ------------------------------------------------- */ // service-Methode /** * Berechnen eines Funktionswertes. * @param arg Argument * @return f( arg) */ public double wert( double arg) { // return myArctan( arg); return myArctanBesser( arg); } /** * Berechnen einer ersten Ableitung * f'(x) = 1 / ( 1 + x^2). * @param arg Argument * @return Wert der ersten Ableitung an der Stelle arg */ public double wertErsteAbleitung( double arg) { // Trivialfall if( arg == 0) return 0; // Sonst return 1 / ( 1 + arg * arg); } /* ------------------------------------------------- */ /** * Verbesserte Funktionswertberechnung fuer |x| > 1. * @param arg Argument * @return f( arg) */ public double myArctanBesser( double arg) { // Trivialfall if( arg == 0) return 0; // Verbesserung (c) } /** * Berechnen eines Funktionswertes mittels Newton * als Nullstelle der Funktion tan( x) - arg. * @param arg Argument * @return f( arg) */ public double myArctan( double arg) { // Newtoniteration (b) } /* ------------------------------------------------- */ // toString-Methode /** * Darstellen der Funktion. * @return Funktion in linearer Schreibweise */ public String toString() { return "f( x) = arctan( x)"; } }