Also ich bin jetzt bei der Sinus Nullstelle:
Das ist mein Code
Delphi-Quellcode:
while c<d do begin
xo1:=c*(pi/b);
form1.ListBox1.Items.Add(floattostr(xo1));
c:=c+1; end; end;
c ergibt sich aus dem Startintervall und
d ergibt sich aus dem Endintervall
das der Nutzer beliebig eingeben kann.
Wenn ich jetzt die Funktion 1*sin(1*x) im Intervall von -1 bis 1 eingebe,
so gibt er mir 2 Ergebnisse als Nullstellen aus, nämlich -3.14 (pi) und 0.
Aber nur 0 wäre ja richtig.
Habe ich ein Intervall von -4 bis 4 gibt er mir schon sage und schreibe 8 Nullstellen aus (von -12,5 bis 9,4).
Woran liegt das??
er geht praktisch bei nem Intervall von -1 bis 1 mit
c=-1 und d=1 rein,
da hatter dann dieses -pi am Ende,
c wird um 1 erhöht und er hat die 0 am Ende, c wird wieder erhöht und die schleifgenbedingung damit nicht mehr erfüllt.
Wie krieg ich diese vielen falschen Werte weg? (in dem Beispiel ist es nur das -pi, aber wie gesagt, bei großen Intervallen hat er viel zu viele Nullstellen)