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

Polyfit koeffizienten = 0 und kurve passt nicht

 

rocal
Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 09.01.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.01.2015, 18:19     Titel: Polyfit koeffizienten = 0 und kurve passt nicht
  Antworten mit Zitat      
Hallo Zusammen,
ich habe ein Problem mit polyfit. Ich habe Messdaten zwei Spalten mehrere tausend Zeilen. Die Werte in der Ersten 0 bis 830, in der Zweiten -1000 bis +1000. Beide Spallten sind voll besetzt:

Beispiel:
0 881,2245
9,539 865,839
15,468 854,5095
19,184 837,3495
...

Die Messdaten sollen an ein Polynom 3. Grades angepasst werden und kommen dem auch nahe. der Code:

P1 = polyfit(height_velocity(:,1),height_velocity(:,2),3)

Ausgabe:

P1 =

-0.0000 0.0027 0.3153 31.2743

Meine Frage: wieso ist der erste Parameter =0?

Ich habe das ganze auch mit anderen Polynomen versucht, zB. 6. Grades. Mathlab verwendet nur die letzten drei Koeffizienten.

P1 =

0.0000 -0.0000 0.0000 -0.0000 -0.0015 0.6974 39.8319

Vielen Dank und schöne Grüße,
rocal
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


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

der Koeffizienten wird nicht gleich 0 sein, sondern einfach nur sehr klein.
Da 830^3 = 571787000 ist, ist es kein Wunder, dass der kubische Term kein großes Gewicht hat.

Du kannst
Code:
oder
Code:
einstellen, wenn du das genauer sehen willst.

Oft hilft es auch, die x-Werte auf ein Intervall wie [-1, 1] zu skalieren.
Siehe dazu das Beispiel "Use Centering and Scaling to Improve Numerical Properties" aus
Code:


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
rocal
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 09.01.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.01.2015, 15:02     Titel:
  Antworten mit Zitat      
Hallo Harald,
danke Dir für deine Antwort, leiser passt die Form auch garnicht zu meinen Daten. Die Datenpunkte passen sehr gut auf ein Polynom 3. Ordnung und leider garnicht auf ein Polynom 2. Ordnung.
Ich habe die Daten mal angehängt, vielleicht findet jemand Zeit die Polynomkoeffizienten ermitteln zulassen.

[code]%Einlesen Funktioniert hier nur die Zeile für die Ermittlung der Koeffizienten.
P1 = polyfit(Test_Data(:,1),Test_Data(:,2),3);

Vielen Dank schonmal.
rocal

Test Data.xls
 Beschreibung:
a

Download
 Dateiname:  Test Data.xls
 Dateigröße:  208.5 KB
 Heruntergeladen:  699 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 12.01.2015, 15:41     Titel:
  Antworten mit Zitat      
ich hab noch nicht genau verstanden wo das problem liegt.
gefällt dir das ergebniss optisch nicht ?
das skalieren des x bereiches auf [-1 1] wie harald sagte würde die werte verändern... nicht das ergebniss natürlich aber es siht dann zahlenmäßig anders aus. der fit bleibt aber der gleiche soweit ich das ausprobiert habe. und der siht auch nicht so schlecht aus.
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
rocal
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 09.01.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.01.2015, 16:09     Titel:
  Antworten mit Zitat      
Hallo nochmal,
ich habe mal eine Skizze anghängt. Die blaue kurve ist etwa der Verlauf der Daten und die rote die des Polynoms.
%edit
Erwarten würde ich, dass das Polynom den Daten folgt und dann die Schwankungen am Ende glättet. Ich habe das mit origin gemacht und bekomme genau den Verlauf.
Ich denke, dass Matlab die bestimmung nicht hinbekommt. Warum auch immer.
Danke und Gruß,
rocal

Skizze.png
 Beschreibung:

Download
 Dateiname:  Skizze.png
 Dateigröße:  23 KB
 Heruntergeladen:  241 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 12.01.2015, 16:55     Titel:
  Antworten mit Zitat      
das ist mein ergebnis mit polyfit

poly3.jpg
 Beschreibung:

Download
 Dateiname:  poly3.jpg
 Dateigröße:  19.68 KB
 Heruntergeladen:  240 mal

_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
rocal
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 09.01.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.01.2015, 18:07     Titel:
  Antworten mit Zitat      
Ich schau jetzt nochmal mein ganzes (viel zu langes) Programm durch ob ich einen Fehler find.
Bis hiher schon mal vielen Dank,
rocal
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.