|
|
Polyfit koeffizienten = 0 und kurve passt nicht |
|
rocal |

Forum-Newbie
|
 |
Beiträge: 4
|
 |
|
 |
Anmeldedatum: 09.01.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 09.01.2015, 18:19
Titel: Polyfit koeffizienten = 0 und kurve passt nicht
|
 |
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
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 09.01.2015, 18:36
Titel:
|
 |
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
oder
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
Grüße,
Harald
|
|
|
rocal |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 4
|
 |
|
 |
Anmeldedatum: 09.01.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.01.2015, 15:02
Titel:
|
 |
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
Beschreibung: |
|
 Download |
Dateiname: |
Test Data.xls |
Dateigröße: |
208.5 KB |
Heruntergeladen: |
699 mal |
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 12.01.2015, 15:41
Titel:
|
 |
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
|
|
|
rocal |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 4
|
 |
|
 |
Anmeldedatum: 09.01.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.01.2015, 16:09
Titel:
|
 |
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
Beschreibung: |
|
 Download |
Dateiname: |
Skizze.png |
Dateigröße: |
23 KB |
Heruntergeladen: |
241 mal |
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 12.01.2015, 16:55
Titel:
|
 |
das ist mein ergebnis mit polyfit
Beschreibung: |
|
 Download |
Dateiname: |
poly3.jpg |
Dateigröße: |
19.68 KB |
Heruntergeladen: |
240 mal |
_________________
richtig Fragen
|
|
|
rocal |
Themenstarter

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