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

Least squares und Splines

 

razeralsgast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.04.2008, 09:05     Titel: Least squares und Splines
  Antworten mit Zitat      
Hallo!

Ich würde ein Programm brauchen, dass mir einen kubischen natürlichen spline fit macht unter der least square bedingung!
Hat da jemand ne ahnung?Beseitze keine spline toolbox,leider Sad


LG!!


tompie
Forum-Guru

Forum-Guru


Beiträge: 260
Anmeldedatum: 19.09.07
Wohnort: München
Version: immer alles
     Beitrag Verfasst am: 15.04.2008, 09:32     Titel:
  Antworten mit Zitat      
Hallo,

die Funktion

Code:


macht genau das und ist Bestandteil der normalen Matlab-Distribution. Mit

Code:


kannst Du Daten sehr allgemein interpolieren und dabei die Interpolationsmethode vorgeben, u.a. auch einen kubischen Spline.

Gruß tompie
Private Nachricht senden Benutzer-Profile anzeigen
 
razeralsgast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.04.2008, 09:50     Titel:
  Antworten mit Zitat      
Vielen Dank für deine Antwort!
Aber das sind doch die "normalen" Splines, also jene,bei dem die Polynomstücke durch jeden zu interpolierenden Punkt hindurch gehen müssen.Ich will eine solche Spline Interpolation,die die Punkte nur annähert mittels least squares Bedingung.Das müsste auf ein Gleichungssystem führen,das zu lösen wäre....

Grüße
 
Michaela
Forum-Century

Forum-Century


Beiträge: 239
Anmeldedatum: 12.07.07
Wohnort: ---
Version: bis 2007b
     Beitrag Verfasst am: 15.04.2008, 19:39     Titel:
  Antworten mit Zitat      
interp1 führt zwar auf Wunsch eine spline interpolation durch, gibt allerdings die dafür verwendeten Koeffizienten nicht heraus. Das geht erst mit Verwendung der spline toolbox. Leider kenn ich keine freie toolbox, die soetwas anbietet, aber vielleicht wirst Du im fileexchange fündig?
_________________

---------------------------------------------------------------
Leider habe ich daheim zwar Internet aber kein Matlab - daher sind alle Syntaxbeispiele circa Angaben.....
Private Nachricht senden Benutzer-Profile anzeigen
 
razeralsgast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.04.2008, 09:18     Titel:
  Antworten mit Zitat      
Michaela hat Folgendes geschrieben:
interp1 führt zwar auf Wunsch eine spline interpolation durch, gibt allerdings die dafür verwendeten Koeffizienten nicht heraus. Das geht erst mit Verwendung der spline toolbox. Leider kenn ich keine freie toolbox, die soetwas anbietet, aber vielleicht wirst Du im fileexchange fündig?

Hm hab ich auch schon versucht....
Ich brauch ja auch nicht die Koeff. der Spline Interpolation, weil diese Koeff. unter Voraussetzungen berechnet werden,die ich nicht will. Nämlich wird für einen kubischen Spline als Bedingung zur Berechnung der Koeff. vorausgesetzt, dass er durch alle Punkte der Datenmenge hindurchgeht. Das will ich ja nicht, sondern ich will, dass er jeden Punkt mittels der least squares Methode best möglich annähert. Also müsste ich die zwei Bestimmunsggleichungen durch die l.q. Bedingungen austauschen, hier liegt das Problem begraben Smile


Grüße
 
tompie
Forum-Guru

Forum-Guru


Beiträge: 260
Anmeldedatum: 19.09.07
Wohnort: München
Version: immer alles
     Beitrag Verfasst am: 16.04.2008, 13:28     Titel:
  Antworten mit Zitat      
Hallo,

vielleicht willst Du ja auch eigentlich etwas ganz anderes machen und drückst Dich nur falsch aus. Ein Spline setzt sich ja stückweise aus Polynomen zusammen, die jeweils lokal genau durch die Datenpunkte laufen. Diese Polynome haben i.a. verschiedene Koeffizienten. Wenn ich Dich recht verstehe, willst Du also die Bedingung 'geht genau durch die Datenpunkte' aufgeben und ersetzen durch 'least square fit'. Das macht bei einem kubischen Spline nur dann Sinn, wenn die Zahl der lokal anzupassenden Datenpunkte >4 ist, sonst landen wir wieder beim normalen kubischen Spline.

Oder willst Du vielleicht einfach die gesamte Datenmenge durch ein Polynom 3. Ordnung anpassen? Das hätte dann allerdings mit Splines nichts zu tun...

Gruß tompie
Private Nachricht senden Benutzer-Profile anzeigen
 
razeralsgast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.04.2008, 18:16     Titel:
  Antworten mit Zitat      
tompie hat Folgendes geschrieben:
Hallo,

vielleicht willst Du ja auch eigentlich etwas ganz anderes machen und drückst Dich nur falsch aus. Ein Spline setzt sich ja stückweise aus Polynomen zusammen, die jeweils lokal genau durch die Datenpunkte laufen. Diese Polynome haben i.a. verschiedene Koeffizienten. Wenn ich Dich recht verstehe, willst Du also die Bedingung 'geht genau durch die Datenpunkte' aufgeben und ersetzen durch 'least square fit'. Das macht bei einem kubischen Spline nur dann Sinn, wenn die Zahl der lokal anzupassenden Datenpunkte >4 ist, sonst landen wir wieder beim normalen kubischen Spline.

Oder willst Du vielleicht einfach die gesamte Datenmenge durch ein Polynom 3. Ordnung anpassen? Das hätte dann allerdings mit Splines nichts zu tun...

Gruß tompie

Ja,stückweise Polynominterpolation,ist klar.Mit Polynom P_i und P_i+1 die beide durch den Punkt an der Stelle i+1 hindurchgehen,soweit klar.

Nunja,ich könnte ja eine beliebig große Datenmenge lokal interpolieren oder?ZB wenn ich 1e6 Werte habe,dann könnte ich zB für die ersten 10 Werte einen least square fit machen. Mit least square fit meine ich, dass ich die Datenpunkte mit einem Polynom dritter Ordnung annähre, sodass der quadratische Fehler minimal wird. Also Summe (Interpolierte Werte - Datenwerte)^2 => min. Dann das Polynomstück daneben,also die Werte 11 - 20 mit l.q. interpolieren. An den Stellen,wo die einzelnen Polynomstücke quasi verbunden werden, in diesem Beispiel die Stelle 10, sollen die beiden Polynomstücke die Spline Bedingungen erfüllen.Also selben Wert an der Stelle 10 (der aber kein Wert der zu interpoilerenden Messreihe sein muss) und die selben ersten und zweiten Ableitungen. Smile
Ich hoffe,das war iwie nachvollziehbar Smile

Wenn du die spline toolbox hast,dort soll es etwas in der Art geben (ob es das macht was ich versuche zu erklären weiß ich leider nicht..)
Die funktion heißt
Code:



Gruß!
 
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 - 2024 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.