Entwickler-Ecke

Algorithmen, Optimierung und Assembler - fertiger algorithmus zur Wurzelberechnung???


Dafduf - Mo 20.03.06 19:25
Titel: fertiger algorithmus zur Wurzelberechnung???
hi alle zusammen.
also ich weiss nicht, ob dass in diese themensparte passt, aber ich wollt mal fragen, ob vielleicht jemand einen fertigen algorithmus hat, oder weiss, wo ich so einen herbekommen kann zur berechnung der wurzeln einer funktion. Ich meine nicht wurzeln sqrt!
bsp.: funktion ist f(x1,x2,x3)= x1*x2*x3 , die wurzeln sind die werte für x1, x2 und
x3, wo die Funktion 0 ergibt.

ich brauch also einen algorithmus, der für eine multidimensionale funktion die
werte der variablen numerisch ermitteln kann, so dass die funktion 0 ergibt.

hoffe, jemand von euch kann mir da weiterhelfen. schon mal vielen dank im voraus.


Sirke - Mo 20.03.06 19:30

So wie ich das sehe möchtest du Nullstellen einer Funktion ermitteln:
http://de.wikipedia.org/wiki/Newton-Verfahren
http://de.wikipedia.org/wiki/Fixpunktverfahren
http://de.wikipedia.org/wiki/Regula_Falsi

Grundsätzlich sollte aber immer eine Intervallschachtelung klappen!


Jetstream - Do 20.04.06 14:03

Du suchst eine Funktion, die von einer Funktion mit x Variablen die Nullstellen angibt ?
Das wird kompliziert, da du fuer jede Anzahl an Variablen ein anderes Verfahren brauchst.
Fuer x=1 benutzt du eins der drei oben angegebenen, fuer x=2 gehste ueber die Hesse-Matrix,
und fuer x=3 weiss ich schon nicht mehr weiter.
Und schon bei 5 Variablen dauert das numerische Berechnen der Nullstellen verdammt lange.

Wofuer brauchste den Algorithmus denn ?


alzaimar - Do 20.04.06 14:13

Ich kenne kein Verfahren, das mit allen Funktionen klappt (außer analytische Verfahren, die die Funktion auflösen wie Mathematica). Selbst eine Intervalschachtelung kann hängen, nämlich dann, wenn die Funktion z.B. lokale Minima aufweist, nicht stetig differentzierbar (also Stufen hat) etc.

Ein Abklappern in 1/1000el Schritten könnte zum Erfolg führen, wobei auch hier die Wahl der Schrittweite und des Startwertes das große Problem ergeben.