Kurvenformel duch Fourier-Transformation oder andere Algorithmen herausfinden

Neue Frage »

Fation Auf diesen Beitrag antworten »
Kurvenformel duch Fourier-Transformation oder andere Algorithmen herausfinden
Meine Frage:
Hallo liebes Matheboard-Forum, ich sitze gerade vor folgender Herausforderung:


Ich bin akutell auf der Suche nach einer Möglichkeit die Formel einer gegebenen Kurve heraus zu finden.

Im Genaueren geht es um den Output am Ende dieses Wolfram Mathematica Projekts: https://github.com/Sultanow/quantum/blob...rPropagation.nb

Herausgekommen ist dieser Code durch folgende Python-Quelle: https://github.com/Sultanow/quantum/blob...-sultanow.ipynb

Meine Frage diesbezüglich wäre, ob mich jemand helfen könnte, eine Formel für dise Kurve heraus zu arbeiten?

Im Voraus bedanke ich mich für eure Unterstützung.


Liebe Grüße
Fation



Meine Ideen:
Auf der Suche nach anderen Algorithmen zur Erfassung der Formel, bin ich darüber hinaus auf die fast Fourier-Transformation und dem Laplace gestoßen.

Leider hatte ich in meiner bisherigen beruflichen sowie schulischen Laufbahn keinerlei Berührungpunkte mit diesen Algorithmen, weshalb ich über jede Hilfe dankbar bin.
Steffen Bühler Auf diesen Beitrag antworten »
RE: Kurvenformel duch Fourier-Transformation oder andere Algorithmen herausfinden
Willkommen im Matheboard!

Solche periodischen Kurven lassen sich in der Tat schön mit Fourier in Sinusbestandteile zerlegen. Schon Excel kann eine FFT berechnen, wenn die Anzahl der äquidistanten Datenpunkte eine Zweierpotenz ist. Wir helfen gerne dabei.

Viele Grüße
Steffen
Fation Auf diesen Beitrag antworten »
RE: Kurvenformel duch Fourier-Transformation oder andere Algorithmen herausfinden
Hallo Steffen,

vielen Dank für die schnelle Antwort und das Hilfsangebot.

Es freut mich zu lesen, dass dieser Sachverhalt lösbar ist.

Ich würde mich sehr freuen, wenn mich jemand bei der Umsetzung einer möglichen Lösung unterstützen könnte, da ich in dem Bereich noch die ein oder andere Wissenslücke habe.

Im Voraus nochmals vielen Dank für die Hilfe.
Steffen Bühler Auf diesen Beitrag antworten »
RE: Kurvenformel duch Fourier-Transformation oder andere Algorithmen herausfinden
Wie gesagt, benötigt werden möglichst viele Datenwerte einer Periode. Deinen Code verstehe ich leider nicht, wenn die Werte vorliegen, sehen wir weiter.
Fation Auf diesen Beitrag antworten »
RE: Kurvenformel duch Fourier-Transformation oder andere Algorithmen herausfinden
Vielen Dank für die schnelle Rückmeldung.

Ich habe die resultierenden Datenwerte in die TXT Dateien im Anhang beigefügt.

Die orange.txt zeigt die Werte aus dem orangefarbenen Graphen und blue.txt der des blauen.

Diese jeweils 200 Werte sind das Resultat einer ganzen Rotation um einen Kreis zwischen den Werten liegt also je pi/100. (falls dies von Relevanz ist)
Steffen Bühler Auf diesen Beitrag antworten »
RE: Kurvenformel duch Fourier-Transformation oder andere Algorithmen herausfinden
Gut, damit sollten wir weiterkommen.

In der Datei orange.txt sehe ich, dass die größte Zahl 0,2 als erster, als 90. und als 180. Wert auftaucht. Somit ist die Periode hier 90. Leider keine Zweierpotenz, sonst hätten wir, wie gesagt, die FFT verwenden können.

So müssen wir eine DFT, also eine diskrete Fouriertransformation verwenden. Wie die funktioniert, habe ich in diesem Workshop beschrieben.

Du nimmst also einen Sinus der Periode 90, multiplizierst jeden Tabellenwert mit dem entsprechenden Sinuswert, addierst alle 90 Produkte auf und teilst die Summe durch 90. Das verdoppelte Ergebnis ist dann die Amplitude der Sinusgrundschwingung .

Nun dasselbe mit dem Cosinus, das gibt . Und dann mit Sinus/Cosinus der halben Periode, das gibt . Dann mit einem Drittel, einem Viertel und so weiter, wie weit Du magst. Wenn die Werte recht klein werden (vielleicht ein Zehntel der Grundschwingungskomponente), würde ich aufhören.

Nun noch den Mittelwert , also einfach den Durchschnitt der 90 Werte.

Und dann ergibt sich die Funktion
 
 
Fation Auf diesen Beitrag antworten »
RE: Kurvenformel duch Fourier-Transformation oder andere Algorithmen herausfinden
Vielen herzlichen Dank für die schnelle Auskunft, ich probiere es aus und melde mich, falls ich weitere Fragen dazu habe.

Sollte ich für die Werte aus blue.txt ebenfalls eine DFT verwenden oder gibt es für diese eine alternative Möglichkeit?
Steffen Bühler Auf diesen Beitrag antworten »
RE: Kurvenformel duch Fourier-Transformation oder andere Algorithmen herausfinden
Ich hab mir jetzt noch blue.txt angesehen. In der Tat ist auch hier die Periode 90, Du kannst hier also genauso vorgehen wie bei orange.txt.
Fation Auf diesen Beitrag antworten »
RE: Kurvenformel duch Fourier-Transformation oder andere Algorithmen herausfinden
Vielen Herzlichen Dank für die Hilfe.

Ich habe für die Berechnung von a0, a1, b1, usw. eine Excel-Tabelle erstellt.

Ich würde mich freuen, wenn sich jemand diese ansehen könnte und schreiben könnte, ob das in die richtige Richtung geht oder sich ein Fehler eingeschlichen hat.
Steffen Bühler Auf diesen Beitrag antworten »
RE: Kurvenformel duch Fourier-Transformation oder andere Algorithmen herausfinden
Du bist sehr nah dran! Nur hast Du vergessen, die Sinusfunktionen laufen zu lassen. In Deiner Formel steht z.B.=B5*SIN((2*PI())/90), das heißt aber, dass alle Werte des Signals mit demselben Sinuswert multipliziert werden! So kommt dann als Summenfunktion ein entsprechend herumschwingendes Gebilde heraus:



Man sieht das auch schon an den Koeffizienten. Die ursprüngliche Kurve ist ja recht cosinusartig, es müssen also entsprechend kleine b-Koeffizienten auftauchen. Das ist hier aber nicht der Fall.

Richtig wäre, eine Laufvariable von 0 bis 89 z.B. in Spalte A einzutragen und dann entsprechend =B5*SIN((A5*2*PI())/90) zu schreiben. Dann ergibt sich schon mit den ersten zwei Harmonischen eine recht brauchbare Kurve:

Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »