Sinusfunktion bestimmen

Hallo,

ein Oszilloskop liefert mir am PC beliebig viele Wertepaare (x1,y1),(x2,y2) usw… von einer Sinusfunktion.
ich weiss dass die Funktion nicht um die Y-Achse verschoben.
Wie bestimme ich die restlichen Unbekannten(a,c,b) in der allgmeinen sinusfunktion f(x) = a*sin(cx+b)
Ein Link zu einem Beispiel im Internet wäre hilfreich. hab selber nichts gefunden.
Vielen Dank…

Hallo,

na da müsste wohl die Minimierung der Summe der Fehlerquadrate funktionieren:

Du bildest für jeden Messpunkt (y - asin(cx + b))^2. Die Summe all dieser Terme muss minimal werden. Du leitest diese Summe also einmal nach a, einmal nach b und einmal nach c ab. Diese Ableitungen setzt Du 0. Damit erhälst Du drei Gleichungen für die drei Unbekannten a, b und c. Die sind aber natürlich nicht linear, d.h. dieses Gleichungssystem ist also nicht so einfach lösbar, schon wegen der darin enthaltenen Summen. Aber mit nem PC-Programm wird es wohl gehen.

Olaf

Hallo

Bedeutet „beliebig viele Wertepaare“ bei dir auch, dass sie von Stellen stammen, die du dir selbst aussuchen kannst? Wenn ja würde mich nur der Schnittpunkt mit der y-Achse (0 | y0) und der erste Extrempunkt (xE | yE) auf der positiven x-Achse interessieren.

Dann könntest du so rechnen: f(x) = a sin(bx + c)

a = yE
c = arcsin(y0 / a)
b = (pi/2 - c) / xE

Wenn du zwar beliebig viele aber nicht an beliebigen Stellen gelegene Wertepaare erhältst bleibt dir wohn nichts anderes übrig als ein Gleichungssystem wie dieses näherungsweise zu lösen:

Du benötigst drei Wertepaare (x0 | y0), (x1 | y1) und (x2 | y2)
I. a * sin(b * x0 + c) = y0
II. a * sin(b * x1 + c) = y1
III. a * sin(b * x2 + c) = y2

MfG IGnow

f(x) = a*sin(cx+b)

a: Amplitude (Mitte bis Spitze)
c: Frequenz
b: Verschiebung nach rechts (-) oder links (+)

Gruß JK

c: Frequenz

Genauer: c= 2PI * f

Alternativ: Maximum likelihood…
… was im Ergebnis auf’s selbe hinausläuft.