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.
Dies gilt solange bis yMitte nahe 0 ist.
import java.util.*;
public class Nullstellensuche {
public static void main(String[] args) {
double links, rechts, ymitte;
Scanner input = new Scanner(System.in);
System.out.println("**********Nullstellensuche**********");
System.out.print("Linke Intervallgrenze eingeben : ");
links = input.nextDouble();
System.out.print("Rechte Intervallgrenze eingeben : ");
rechts = input.nextDouble();
input.close();
// Ausgabe nur um zu sehen ob die Werte richtig sind
System.out.println(function(links));
System.out.println(function(rechts));
// Wenn beide y-Werte < 0 sind gibt es keine Nullstellen
if (function(links) < 0 && function(rechts) < 0) {
System.out
.println("Innerhalb dieses Intervalls gibt es keine Nullstellen.");
}
// Wenn beide y-Werte > 0 sind gibt es mehrere Nullstellen
else if (function(links) > 0 && function(rechts) > 0) {
System.out
.println("Innerhalb dieses Intervalls gibt keine Nullstellen.");
}
// In allen anderen Fällen, rufe die Funktion intervall() auf
else {
ymitte = (links + rechts) / 2;
intervall(links, rechts, ymitte);
System.out.println("Die Nullstelle liegt nahe: " + ymitte);
}
}
// Berechnung der y-Werte
public static double function(double intervallwert) {
return (intervallwert + 1) * (intervallwert + 1) - 1;
}
// Methode zur Verkleinerung des Intervalls
public static double intervall(double links, double rechts, double ymitte) {
while (ymitte ) {// Hier wird immer eine Endlossschleife ausgeführt wenn ich ymitte < oder > 0 setze
ymitte = (links + rechts) / 2;
System.out.println(ymitte);
if (ymitte > 0) {
rechts = ymitte;
} else if (ymitte < 0) {
links = ymitte;
}
}
return ymitte;
}
}
ymitte = (links + rechts) / 2;
//...
System.out.println("Die Nullstelle liegt nahe: " + ymitte);
Java:if(wert > -0.00001 && wert < 0.00001) //Auf 5 Stellen genau bei 0
if(Math.abs(wert) < 0.00001) {}
// Methode zur Verkleinerung des Intervalls
public static double intervall(double xl, double xr, double xmid, double ymid) {
xmid = (xl+xr)/2;
ymid=function(xmid);
while (ymid > 0) { // Wusste nicht genau welche Bedingung ich nutzen sollte
if(Math.abs(xl) < 0.00001){
return xl;
}
xmid = (xl + xr) / 2; // Neue Mitte des Intervalls
ymid = function(xmid);
if (ymid == 0) { // Falls ym = 0 dann Nullstelle gefunden bei xm
return xmid;
}
if (ymid > 0) { //
xl = xmid;
}
}
return xl;
}
}
if(yl * ym > 0) {
// gleiches Vorzeichen, ersetze xl und yl durch die Werte der Mitte, ansonsten ersetze xr und yr
}
public static double intervall(double yl, double yr, double xl, double xr, double xmid, double ymid) {
do {
xmid = (xl + xr) / 2; // Neue Mitte des Intervalls
ymid = function(xmid);
if (ymid > 0) { //
xl = xmid;
}
yl = function(xl);
if(yl*ymid > 0){
xl = xmid;
yl = xmid;
}
else{
xr = xmid;
yr = xmid;
}
return ****;
}while(true);
}