|
|
suche geeignete Interpolation |
|
fenderbender |

Forum-Anfänger
|
 |
Beiträge: 49
|
 |
|
 |
Anmeldedatum: 17.06.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 18.09.2010, 10:25
Titel: suche geeignete Interpolation
|
 |
Hallo,
ich bitte euch mal wieder um Hilfe bei der Suche nach einer geeigneten Interpolation.
Ich habe eine zweidimensionale Matrix, welche die Amplitudenwerte über der Frequenz enthält. Die x-Achse, also die Frequenzachse ist dabe NICHT äquidistant, für die Weiterverarbeitung stehen also nur die konkreten Frequenzen zur Verfügung.
Ich würde jezt gerne zwischen Punkt i und i+1 eine Gerade legen und das ganze N-1 mal. Sowie bei der Splineinterpolation nur eben nicht kubisch sondern linear.
Ich will also am Ende jeden einzelnen Punkt der Frequenzachse berechnen können, auch wenn dieser nicht wirklich gemessen wurde.
Soweit ich gesehen habe, kann man bei Interp1 zwar so in der Richtung interpolieren, Matlab speichert aber abgetastete Punkte und nicht die Geradengleichung, so dass ich wieder nur eine begrenzte Auswahl habe....
Fällt jemanden eine Lösung ein?
Danke
|
|
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 20.09.2010, 23:25
Titel: Re: suche geeignete Interpolation
|
 |
Hallo fenderbender,
das hört sich nach eine Aufgabe für POLYFIT an. Eine Gerade ist ja immerhin auch nur ein Polynom mit wenigen Koeffizienten.
Gruß, Jan
|
|
|
fenderbender |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 49
|
 |
|
 |
Anmeldedatum: 17.06.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 21.09.2010, 06:21
Titel:
|
 |
Du meinst ein Polyfit zwischen allen Punkten?
Das ging natürlich in einer Schleife... Mal sehn, wie ich das lös....
Habs mal mit dem cftool versucht, aber das funktioniert ja überhaupt nicht.
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 21.09.2010, 20:01
Titel: Re: suche geeignete Interpolation
|
 |
Hallo fenderbender,
ich habe wohl Deine Frage nicht genau genug gelesen.
Du hast nicht-equidistant verteilte X-Werte und dazugehörige Y-Werte. Nun möchtest Du zwischen je zwei X-Werten N-1 interpolierte X-Werte haben - oder?
Und wo tritt dann die Geraden-Gleichung auf?
Bitte zeige doch mal and einem kleinen Beispiel, was Du genau möchtest.
Gruß, Jan
|
|
|
fenderbender |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 49
|
 |
|
 |
Anmeldedatum: 17.06.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 21.09.2010, 20:14
Titel: Re: suche geeignete Interpolation
|
 |
|
 |
|
Jan S hat Folgendes geschrieben: |
Hallo fenderbender,
ich habe wohl Deine Frage nicht genau genug gelesen.
Du hast nicht-equidistant verteilte X-Werte und dazugehörige Y-Werte. Nun möchtest Du zwischen je zwei X-Werten N-1 interpolierte X-Werte haben - oder?
Und wo tritt dann die Geraden-Gleichung auf?
Bitte zeige doch mal and einem kleinen Beispiel, was Du genau möchtest.
Gruß, Jan |
Danke für deine Antwort.
Der erste Teil war schon richtig. Ca 200 x-Werte zu denen je ein y-Wert gehört (Amplitude(frequenz)). Die Werte sind äquidistant.
Ich brauch etwas, womit ich einen nicht gemessenen Punkt ungefähr abschätzen kann auf einfache Art.
Also angenommen:
x1=1GHz & y1=-3dBm
x2=1.1GHz & y2=-3.5dBm
Jetzt will ich einen Punkt dazwischen, also z.B bei 1.093GHz die Amplitude abschätzen.
Da sich dieser Schätzpunkt im weiteren Algorithmus aber jedesmal ändert, reicht es nicht aus zwischen x1 und x2 hundert oder tausend Punkte einzufügen. Ich bräuchte eher eine mathematische Gleichung, die ich jedesmal wieder auf einer anderen Achse, also mal f=0:100:10^6 und ein ander mal f=0:10^6:2.4*10^9 oder etwas ganz anders krummes, anwenden lässt.
Im Prinzip wäre eine Spline Interpolation (N-1 Polynome 3. Grades) schon ok, aber hat unnötig viele Koeffizienten und reagiert ein bisschen zu "schwarf" auf Messwerteausreisser.
Momentan hab ich über alle Punkte ein Polynom 9. Grades, finde aber, es ist fast ein bisschen zu grob und die Ränder muss ich gesondert bearbeiten.
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 21.09.2010, 20:37
Titel: Re: suche geeignete Interpolation
|
 |
Hallo fenderbender,
am saubersten wäre es, alle neuen Y-Werte per INTERP1 aus den ORginal-Daten zu gewinnen. Alles andere ist wissenschaftlich schwer zu begründen, z.B. "den Rand anders behandeln" -- aber wie genau definierst Du "Rand" dann?
INTERP1 ist ziemlich langsam. Ich habe auf den FileExchange-Seiten die Funktion ScaleTime veröffentlicht, die deutlich schneller ist.
Gruß, Jan
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|