Forum: Digitale Signalverarbeitung / DSP / Machine Learning Nullstelle bestimmen


von observer (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,
ich habe folgende Funktion im Anhang. Die Funktion ist relativ "zickig", 
da sie unstetigkeiten hat. Mit welchen Algo würdet ihr verwenden?
Danke für Eure Hilfe,
-Michael

von A. S. (Gast)


Lesenswert?

Numerisch brutal? Über alle werte, wenn anderes Vorzeichen als der 
Nachfolger DANN Nullstelle?

von Marek N. (Gast)


Lesenswert?

Achim S. schrieb:
> wenn anderes Vorzeichen als der
> Nachfolger DANN Nullstelle?

Und genau damit erwischt du auch die Polstelle.

von Max M. (jens2001)


Lesenswert?

observer schrieb:
> folgende Funktion

Gibts die auch als Funktionsgleichung oder nur als Punkte?

Entweder analytisch oder numerisch.

observer schrieb:
> da sie unstetigkeiten hat

Dann natürlich abschnittsweise unter Ausklammerung der 
Unstetigkeitsstellen bearbeiten.

BTW. Sieht für mich aus wie eine Variante von y=1/x.

: Bearbeitet durch User
von observer (Gast)


Lesenswert?

Eine analytische Lösung ist inpraktikabel. Was mir spontan einfällt, ist 
iterieren bis man einen Wert >0 hat, und dann bisection.

von Possetitjel (Gast)


Lesenswert?

observer schrieb:

> ich habe folgende Funktion im Anhang. Die Funktion
> ist relativ "zickig", da sie unstetigkeiten hat. Mit
> welchen Algo würdet ihr verwenden?

Schuss aus der Hüfte: Vier äquidistante Punkte betrachten;
Nullstelle klassisch (nach Vorzeichen des Funktionswertes)
zwischen die mittleren beiden Punkte eingabeln.
Anschließens Stetigkeit der 1. Ableitung (Differenzen-
quotient) in allen drei Intervallen betrachten: Bei der
Nullstelle bleibt das Vorzeichen der 1. Ableitung konstant;
bei der Polstelle springt es.

HTH

von Ulrich (Gast)


Lesenswert?

Quadrieren minimumssuche mittels Gauss-Newton könnte hinhauen.

Wenn du dann noch sicher stellen kannst, dass du im rechten Bereich 
startest müsstest du immer zur Nullstelle konvergieren.

Wenn du links von der Unstetigkeit startest, dann divergierst du. Dass 
kannst du ja abfangen und weiter rechts nochmal beginnen.

von M.A. S. (mse2)


Lesenswert?

observer schrieb:
> Mit welchen Algo würdet ihr verwenden?

In welcher Form ist die Funktion gegeben?
Gleichung?
Wertetabelle?
...?

Wie verläuft die Funktion ausserhalb des gezeichneten Bereiches?
(Oder ist sie nur auf dem gezeigten Intervall definiert?)

Was ist das Ziel der Nullstellenbestimmung:
Einmalig für genau diese eine Funktion?
Oder ist ein besonders effizienter Algorithmus gesucht, der diese 
Berechung mehrere Millionen Mal pro Sekunde durchführen soll?


Marek N. schrieb:
> chim S. schrieb:
>> wenn anderes Vorzeichen als der
>> Nachfolger DANN Nullstelle?
>
> Und genau damit erwischt du auch die Polstelle.
Sähe die Funktion genauso aus, wie hier gezeigt, könnte man dies einfach 
mit geeigneten Startwerten (links und recht von der Nullstelle, die 
Poilstelle jedoch nicht einschließend) verhindern.

Wobei: Numerisch sowieso, aber wenigstens mit Intervallhalbierung.

von Marek N. (Gast)


Lesenswert?

Possetitjel schrieb:
> Bei der
> Nullstelle bleibt das Vorzeichen der 1. Ableitung konstant;
> bei der Polstelle springt es.

Sicher?
Die Kurve fällt ins "Minus Unendliche" und fällt aus dem "Plus 
Unendlichen" heraus, also springt das Vorzeichen der ersten Ableitung 
nicht!

Allerdings erreicht f'' einen Extremwert an der Polstelle, bei der 
Nullstelle ändert sich f'' stetig.

von Possetitjel (Gast)


Lesenswert?

Marek N. schrieb:

> Possetitjel schrieb:
>> Bei der
>> Nullstelle bleibt das Vorzeichen der 1. Ableitung konstant;
>> bei der Polstelle springt es.
>
> Sicher?

Ziemlich.


> Die Kurve fällt ins "Minus Unendliche" und fällt aus dem
> "Plus Unendlichen" heraus, also springt das Vorzeichen der
> ersten Ableitung nicht!

Himmelherrgott.

Natürlich war nicht das Vorzeichen der analytisch berechneten
1. Ableitung gemeint, sondern das Vorzeichen des numerisch
berechneten Differenzenquotienten. Ging das WIRKLICH nicht
aus dem Zusammenhang hervor?

von M.A. S. (mse2)


Lesenswert?

Possetitjel schrieb:
> Ging das WIRKLICH nicht
> aus dem Zusammenhang hervor?
Nein.


Possetitjel schrieb:
> Himmelherrgott.
Und es besteht keine Notwendigkeit, irgendeinen von uns anzubeten! ;)

: Bearbeitet durch User
von Max M. (jens2001)


Lesenswert?

observer schrieb:
> Eine analytische Lösung ist inpraktikabel. Was mir spontan einfällt, ist
> iterieren bis man einen Wert >0 hat, und dann bisection.

Was ist das für ein Quark!

von Possetitjel (Gast)


Lesenswert?

Ulrich schrieb:

> Quadrieren minimumssuche mittels Gauss-Newton
> könnte hinhauen.

Ah. Hübsch.


> Wenn du links von der Unstetigkeit startest, dann
> divergierst du. Dass kannst du ja abfangen und weiter
> rechts nochmal beginnen.

Ich denke, das kann man numerisch erkennen.

Wenn man sich der Nullstelle der quadrierten Funktion
von beiden Seiten nähert, gehen die beiden 1. Ableitungen
gegen Null. Bei der Polstelle divergieren die Ableitungen
in unterschiedliche Richtungen.

von Bernd B. (microwave-designer)


Lesenswert?

Hallo Observer,

probiere einmal die konforme Abbildung, also hier Möbius-Transformation. 
Anschließend kannst Du bei der Phase in den beiden Nulldurchgängen 
sowohl Sprung, als auch Nullstelle ermitteln.

Ob Du analytisch oder per Algorithmus die Nullstellen bestimmst, bleibt 
Dir überlassen.

Falls weitere Erläuterungen notwendig sind, sieh Dir ein Smith-Diagramm 
an. Dort hast Du bei Vorzeichenwechsel entweder Polstelle oder 
Nullstelle der ursprünglichen Funktion. Am rechten Rand des 
Smith-Diagramms siehst du, dass dem Wert +Unendlich der Wert -Unendlich 
folgt, bzw. umgekehrt.

Wie man die Rechnungen mit / für Smith-Chart (-Diagramm) durchführt 
findet man sicher bei Wikipedia. Ich bin zu faul die Formel hier als 
Latex-Code zu schreiben.

Viel Spaß beim Rechnen und

Gruß

Bernd

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.