So du hast mir schonmal ein wenig auf die Sprünge geholfen, ich habe jetzt folgenden Code:
Delphi-Quellcode:
//Nullstelle positiv
form1.ListBox1.clear;
a:=0;
b:=strtofloat(form1.Edit11.text);
c:=0;
d:=strtofloat(form1.Edit17.text);
while a<d do begin
xo1:=c*(pi/b);
form1.ListBox1.Items.Add(floattostr(xo1));
a:=a+(pi/b);
c:=c+1; end;
//Nullstelle negativ
a:=0;
b:=strtofloat(form1.Edit11.text);
c:=0;
d:=-1*(strtofloat(form1.Edit16.text));
if (strtofloat(form1.Edit17.text))>=0 then begin
while a<d do begin
xo1:=-1*(c*(pi/b));
if xo1<>0 then begin
form1.ListBox1.Items.Add(floattostr(xo1)); end;
a:=a+(pi/b);
c:=c+1; end;
end;
Die Formel für die Funktion lautet
y:=a*sin(b*x)
Das einzigste Problem ist, dass man hier keinen Intervall eingeben darf, der nicht durch 0 geht (z.B. -15 bis -10 oder 10 bis 15) - aber ich denke das muss ich wohl in Kauf nehmen.
edit: hab die Formel etwas umgebaut und sie Funktioniert jetzt auch für die Kosinusnullstellen!