WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

suche geeignete Interpolation

 

fenderbender
Forum-Anfänger

Forum-Anfänger


Beiträge: 49
Anmeldedatum: 17.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.09.2010, 10:25     Titel: suche geeignete Interpolation
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 20.09.2010, 23:25     Titel: Re: suche geeignete Interpolation
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
fenderbender
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 49
Anmeldedatum: 17.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.09.2010, 06:21     Titel:
  Antworten mit Zitat      
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.
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 21.09.2010, 20:01     Titel: Re: suche geeignete Interpolation
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
fenderbender
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 49
Anmeldedatum: 17.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.09.2010, 20:14     Titel: Re: suche geeignete Interpolation
  Antworten mit Zitat      
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.
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 21.09.2010, 20:37     Titel: Re: suche geeignete Interpolation
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.