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

Finden des besten Fits für eine Reihe von Messdaten

 

JAG

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.12.2010, 16:52     Titel: Finden des besten Fits für eine Reihe von Messdaten
  Antworten mit Zitat      
Also ich hab folgendes Problem: Ich habe eine relativ große Zahl an Messdaten, durch die ich eine Kurve legen möchte, die dann natürlich ziemlich genau durch meine Messpunkte geht. Gelöst habe ich das Problem mit der Funktion "polyfit". Mein Problem dabei ist jetzt allerdings, dass ich der Funktion ja vorher mitteilen muss, welchen Grad das Ausgleichpolynom haben soll. Ich habe nur leider verschiedene Messdaten, die verschieden behandelt werden müssen. D.h. bei einigen funktioniert es super linear, bei anderen bekomme ich dabei allerdings die Warnung "Polynomial is badly conditioned.".
Ist es nun möglich diese Warnung vorher abzufangen und dann statt dem linearen Fit z.b einen quadratischen zu machen?
Oder gibt es vielleicht sogar schon eine Funktion von Matlab, die testet, welches der beste Fit ist?

Vielen Dank schon mal für eine Antwort!
Viele Grüße! (und schöne Weihnachtstage Wink )


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 27.12.2010, 22:57     Titel:
  Antworten mit Zitat      
Hallo,

grundsätzlich sollte man sich selbst vorher Gedanken machen, welche Funktion an den Datensatz angepasst werden soll. Das schließt bei Polynomen den Grad des Polynoms ein.
Statt den Grad des Polynoms hochzutreiben, sollte man sich überlegen, ob nicht eine andere Funktion die Daten besser beschreibt.

Wenn wirklich ausschließlich Polynome gefittet werden sollen, könnte man das zweite Rückgabeargument von polyfit verwenden, um den Fehler abzuschätzen (und den Grad des Polynoms erhöhen, wenn der Fehler zu groß ist).

Die letzte aufgetretene Warnung kann man übrigens mit LASTWARN abfragen.

Grüße,
Harald
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: 29.12.2010, 16:08     Titel: Re: Finden des besten Fits für eine Reihe von Messdaten
  Antworten mit Zitat      
Hallo JAG,

Die Warnung "Polynomial is badly conditioned." bedeutet nicht, dass der Grad des Polynoms zu klein ist. Dieser Fehler tritt dann auf, wenn die X-Werte der Stützstellen ungünstig verteilt sind. "Günstig" bedeutet, dass aller X-Werte um 0 herum liegen und etwa die Entferung 1 haben. [1000001:1000012] wäre also z.B. schlecht konditioniert, und die Rundungsfehler in den berechneten Polynom-Koeffizienten wären bedeutend.
Wenn Du den zweiten Ausgabewert von POLYFIT benutzt, werden die Eingaben automatisch normalisiert:
Code:
x = (x - mean(x)) / std(x);

Das ergibt natürlich ein anderes Polynom als mit den unskalierten X-Werten. Aber z.B. POLYVAL führt die gleiche Skalierrung dann auch mit den neuen X-Werten durch, wenn man die Ausgaben "S" und "mu" wirder als Eingaben für POLYVAL verwendet. Damit sind die Ergebnisse wieder gleich.

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.