|
|
lscurvefit - mehrere Ein- und Ausgabeparameter |
|
nimm3 |
Forum-Newbie
|
|
Beiträge: 2
|
|
|
|
Anmeldedatum: 05.01.17
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 05.01.2017, 12:02
Titel: lscurvefit - mehrere Ein- und Ausgabeparameter
|
|
Hallo zusammen,
ich bin relativ neu mir Matlab unterwegs und möchte daher hier mal eine Frage loswerden:
Ich möchte mit lscurvefit Daten schrittweise lokal und linear fitten (lokal, da mathematischer Zusammenhang der Messreihe unbekannt).
Ich habe mitlerweile rausgefunden, wie ich der Funktion Konstanten übergeben kann (anonyme Funktion). Um den linearen Fit jedoch am nächsten lokalen Punkt durchzuführen, benötige ich eine Konstante die innerhalb der Funktion berechnet wird. Nochmal anders ausgedrückt:
Ich fitte an Punkt 1 linear und erhalte m (Steigung) und b (y-Achsenabschnitt) von lscurvefit. Innerhalb der Fit-Funktion wird jedoch eine weitere Variable A berechnet. Den Wert dieser Variable möchte ich am Ende der letzten Iteration von lscurvefit mitnehmen, da ich diesen Wert an Punkt 2 benötige.
Ich hoffe das war einigermaßen verständlich.
Vielen Dank schonmal!
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.448
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 05.01.2017, 12:31
Titel:
|
|
Hallo,
wenn du tatsächlich "nur" ein Polynom anpassen willst, ist lsqcurvefit mit Kanonen auf Spatzen geschossen. Stattdessen würde ich
polyfit
oder
fitlm
empfehlen.
Für die Optimierung der Parameter an sich scheinst du A ja nicht zu benötigen. Daher würde ich A aus der Funktion herausnehmen und nach der Anpassung der Parameter berechnen.
Grüße,
Harald
|
|
|
nimm3 |
Themenstarter
Forum-Newbie
|
|
Beiträge: 2
|
|
|
|
Anmeldedatum: 05.01.17
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 05.01.2017, 12:47
Titel:
|
|
Hallo Harald,
danke für deine Antwort. polyfit ist für meinen Fall leider nicht geeignet. Die Fitparameter m und b sind leider nicht direkt an meine Datenpunkten gekoppelt.
Über einen Algorithmus wird in meiner Funktion mit Hilfe von m und b das A berechnet. Aus dem A wird dann x und y berechnet, dass dann den Messdaten entsprechen soll. m und b sind meine Variablen.
Könnte man das ganze über globale Variablen lösen, oder gibt es da eine charmantere Variante?
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.448
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 05.01.2017, 12:59
Titel:
|
|
Hallo,
globale Variablen sind ungern gesehen.
Ich würde A nachträglich berechnen, zur Not über einen zusätzlichen Funktionsaufruf. Der Aufwand dafür sollte vertretbar sein.
Für weitere Unterstützung bitte mal den Code posten, damit man einen besseren Überblick bekommt. Das ist oft leichter verständlich als eine Beschreibung des Codes.
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 - 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.
|
|