@einseinsnull Ich spreche doch nicht von der Simulation, sondern frage ob das chaotische Verhalten beim Feedback auch in kontinuierlicher Mathe auftaucht
von "theoretischer" mathematik verstehe ich nix, kann die aber bei "FM feedback" auch nicht als solche erkennen, denn das ist ja bereits ingenieurskrempel (langt, wenns funktioniert), oder nicht?
deren gröĂtes problem bleibt, dass man zur fehlerreduzierung vor allem hochsamplen mĂŒsste.
der von dir aufgefĂŒhrte pseudo code y'=sin(y*k) wĂŒrde in einer fp umgebung glaube schon deswegen keine probleme machen, weil die fehler nirgends multipliziert oder extrapoliert werden, sondern bei jeder karusselfahrt wieder zu werten werden, die noch darstellbar innerhalb des systems sind.
(je hĂ€ufiger man float operationen durchfĂŒhrt, desto gröĂer wird die wahrscheinlichkeit, dass es gleich viele abweichungen nach oben und nach unten gibt)
natĂŒrlich könnte es sein - ich habe jetzt keine lust das zu probieren, dass wenn k == genau pi/2, dass dann die ergebnisse die vermutlich hier vorgegebene range von -1 bis 1 sprengen wĂŒrden.
nur pi/2 ist ja irrational und kann schon bei der eingabe nur als float im system dargestellt werden, man kann also eh nicht damit rechnen.
dafĂŒr gibt es jetzt zwei möglichkeiten:
pi/2 (oder -pi/2 for that matter) in 32float kann nur etwas gröĂer als korrekt oder nur etwas kleiner als korrekt dargestellt werden.
selbst wenn es gröĂer wĂ€re (ist wohl entweder bei + oder bei - der fall), tritt dies aber nur ein einziges mal auf, denn nachdem es aufgetreten ist, ist ja dann die eingabe nicht mehr 1.0 oder -1.0, so dass beim zweiten mal schon wieder ein wert rauskommt, der die range nicht sprengen kann.
ergo der fehler kann sich nicht unendlich vergröĂern, so wie beim bernouilli dingens mit dem modulo, wo man endlos addiert und/oder multipliziert oder sowas.
oder, falls mal ein einzelner wert >1 auftritt, man das eben clippt so wie ich vorschlug;
y'=sin(y*k), auĂer wenn y'>1.0, dann y=1.0 OR wenn y'<-1.0, dann y=-1.0#
oder, etwas weniger pseudo
(min(max((y'=sin(y*k)) 1.)\,-1.))
(der nichtnerd wĂŒrde wahrscheinlich einfach y auf y*0.99 beschrĂ€nken.)