ice-breaker
Commodore
- Registriert
- Nov. 2008
- Beiträge
- 4.132
In der Aufgabe ist nichts vorhanden, was jemand mit Mittelstufen-Mathe nicht lösen könnte.
Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
SaimenD schrieb:ich würde es ungefähr so machen (ich schreibs nicht als code sonst hast du ja keine arbeit mehr und weil ich zu faul bin ^^):
neg=1
1.if (x<0) x = -x & neg=-1
2.while(x>2*pi) x = x-2*pi
3.if (pi < x < 2*pi) x = x-pi &neg=-1
4.if (pi/2<x<pi)x = x -pi/2
x = x*neg
und dann kannst du deine sinusfunktion laufen lassen
ich hoff mal ich hab keine fehler reingebaut aber ich hab grad wenig zeit
schaust halt mal
4.if (pi/2<x<pi)x = x -pi/2
Maggiefix schrieb:Mir ist schon klar das ich nehmen kann was ich will, ich würde nur gerne eine Empfehlung haben wie ich das möglichst schnell und einfach lösen kann.
int n=(int)(x/(2*Math.PI));
x-=n*2*Math.PI;
//Jetzt ist x in [0,2*Pi)
bool negate;
if(x>Math.PI){
negate=true;
x-=Math.PI;
}
return (negate?-1:1)*mySin(x>Math.PI/2?Math.Pi-x:x);
public static double transBesser(double x) {
double multiplier = 1;
//1. Wenn x kleiner 0
if (x < 0) {
x = -x;
multiplier = -1 ;
}
//2. Solange x größer 2pi, ziehe 2pi ab
while ( x >= 2 * Math.PI) {
x = x - 2 * Math.PI;
}
//3. Wenn x im Intervall [pi, 2pi]
if (x > Math.PI && x < 2 * Math.PI) {
x = x - Math.PI;
multiplier = -1;
}
//4. Wenn x im Intervall [pi/2, pi]
if ( x > (Math.PI / 2) && x < Math.PI ) {
x = Math.PI - x;
}
x = x * multiplier;
return x;
}
Implementieren Sie eine neue Klassenmethode mySinBesser, welche zunächst den Parameter auf das dichtere Intervall [0, (pi/2)] transformiert und anschließend die Methode mySin mit dem transformierten Wert aufruft.