|
|
"polyfit" mit Zwangsbedingung |
|
Epfi |

Forum-Meister
|
 |
Beiträge: 1.134
|
 |
|
 |
Anmeldedatum: 08.01.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.08.2010, 16:33
Titel: "polyfit" mit Zwangsbedingung
|
 |
Moin!
Ich habe hier eine Messung, die für kleine Messwerte annähernd linear ist. Zur Simulation möchte ich diesen Bereich nun linearisieren. Ich weiß garantiert, dass mein System in Ruhelage im Punkt (0, 0) liegt - fitte ich meine Funktion mit polyfit und dem Grad n=1 (-> Gerade), bekomme ich allerdings einen Offset heraus.
Das ist zwar nach Methode der kleinsten Quadrate sicherlich korrekt, aber in meinem Fall genau so sicher falsch.
Gibt es eine Funktion, die eine Kurve fitten und dabei gleichzeitig eine Zwangsbedingungen einhalten kann?
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 13.08.2010, 00:15
Titel:
|
 |
Hallo,
Allgemein: lsqcurvefit (Optimization Toolbox) bzw. nlinfit (Statistics Toolbox).
Deine Regression ist aber linear in den Parametern; die Lösung wäre (für Spaltenvektoren x und y)
x \ y
Für Polynome höherer Ordnung:
[x x.^2 ... x.^n] \ y
(jeweils mit konstantem Anteil 0)
Grüße,
Harald
|
|
|
Epfi |
Themenstarter

Forum-Meister
|
 |
Beiträge: 1.134
|
 |
|
 |
Anmeldedatum: 08.01.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 13.08.2010, 09:10
Titel:
|
 |
Hallo Harald,
danke für den Tipp mit lsqcurvefit - das scheint das zu sein, was ich suche.
Auch über das cftool kann man eine Funktion der Form a*x vorgeben - ist für viele Messreihen aber doch ziemlich Klick-Intensiv.
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 13.08.2010, 09:45
Titel:
|
 |
Hallo Epfi,
die vermutlich schnellste und geschickteste Variante ist wie gesagt über den \-Operator, da du dann nicht einmal Startwerte benötigst und nicht das Risiko besteht, in ein lokales Minimum zu laufen.
Wenn cftool verwendet wird, bietet sich File -> Generate M-File an, um das später zu automatisieren.
Grüße,
Harald
|
|
|
|
|
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.
|
|