|
Turbopavel |
Forum-Anfänger
|
|
Beiträge: 29
|
|
|
|
Anmeldedatum: 22.11.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2017a
|
|
|
|
|
|
Verfasst am: 30.01.2014, 16:45
Titel: cftool noninteractive
|
|
Hallo!
Ich lade über das Command Window mehrere Dateienreihen aus x und y Werten in das cftool ein, was auch soweit funktioniert... Ich muss aber immer im Tool die einzelnen "Sheets" umbennen und per Hand abspeichern, was bei 50 Datenreihen ziemlich aufwendig ist... Gibt es da noch eine andere Lösung, so ungefähr wie mit Exceldateien, wo man beim Erstellen die Sheets benennen kann und anschließend abspeichert!?
Danke im Voraus!
Gruß Pavel
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 30.01.2014, 17:40
Titel:
|
|
Hallo,
du kannst aus dem Curve Fitting Tool Code generieren (File --> Generate Code).
Die meines Erachtens angenehmere Alternative wäre die Nutzung von lsqcurvefit.
Grüße,
Harald
|
|
|
Turbopavel |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 29
|
|
|
|
Anmeldedatum: 22.11.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2017a
|
|
|
|
|
|
Verfasst am: 31.01.2014, 14:19
Titel:
|
|
Das mit dem Code generieren geht schonmal in die richtige Richtung... Bloß schade das er mir jetzt alle Wertepaare als einzelne Plots ausgibt! Ich würde schon gern das cftool benutzen, da ich darin erst die richtige Funktion einstellen möchte... Mir ging es eher darum, die Daten und deren Namen als Sheet ins das cftool am Command Window zu laden, sodass ich beim benutzen des Tool nur noch die passende Funktion wählen muss und alles andere schon vorbereitet ist...
Gruß Pavel
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 31.01.2014, 15:53
Titel:
|
|
Hallo,
Zitat: |
die Daten und deren Namen als Sheet ins das cftool am Command Window zu laden |
das übersteigt jedenfalls meine Vorstellung, insbesondere da es in MATLAB keine Sheets gibt.
Ich kann dir insgesamt nicht ganz folgen.
Du willst also nicht das Fitten automatisieren, sondern das Extrahieren der Daten? Dann kannst du dir doch ein Skript / eine Funktion schreiben, die das machen, und am Ende cftool mit den Daten aufrufen?
Für weitere Hilfe bitte genau, am besten anhand eines Beispiels, beschreiben, was du in welcher Reihenfolge machst und was du haben willst.
Grüße,
Harald
|
|
|
Turbopavel |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 29
|
|
|
|
Anmeldedatum: 22.11.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2017a
|
|
|
|
|
|
Verfasst am: 03.02.2014, 13:36
Titel:
|
|
Also: Ich habe einen 10 x 5 Vektor, den ich über eine for-Schleife in das cftool einlesen lasse. Für jede der zehn Datenreihen a 5 Werte, öffnet das Programm einen neuen "Table of Fits" (das meinte ich mit Sheet). Jedoch sind diese Sheets alle unbenannt und diese wollte ich gerne schon im Skript irgendwie umbennen, damit ich das nicht mehr im cftool machen muss. Das wäre nämich ziemlich aufwendig, da ich das Ganze mit ca 50 Vektoren machen muss. Wenn ich mir jetzt den Code vom cftool generieren lasse, bekomme ich die Datensätze ja im plot ausgegeben, das möchte ich aber nicht, da ich mir im cftool die verschiednen Verläufe der einzelnen Funktionen anschauen möchte. Ich muss nämlich herausfinden, welche Funktion die jeweiligen Datenpunkte am Besten beschreibt... Also ob der Verlauf der Datenpunkte am ehersten z.B einer Liniearen Funktion oder einer Exponentialfunktion ähnelt...
Gruß Pavel
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 03.02.2014, 20:07
Titel:
|
|
Hallo,
Zitat: |
Ich habe einen 10 x 5 Vektor |
Das ist dann kein Vektor, sondern eine Matrix.
Zitat: |
Jedoch sind diese Sheets alle unbenannt und diese wollte ich gerne schon im Skript irgendwie umbennen, damit ich das nicht mehr im cftool machen muss. |
Diese Möglichkeit gibt es meines Wissens nicht. Es ist ja als interaktives Tool gedacht und nicht zur massenhaften Datenverarbeitung.
Zitat: |
Ich muss nämlich herausfinden, welche Funktion die jeweiligen Datenpunkte am Besten beschreibt... Also ob der Verlauf der Datenpunkte am ehersten z.B einer Liniearen Funktion oder einer Exponentialfunktion ähnelt... |
Gibt es da eine bestimmte Menge an Kandidatenfunktionen? Falls ja, dann könntest du automatisiert (z.B. mit nlinfit) für alle Vektoren alle Kandidatenfunktionen durchlaufen und jedes Mal die "annehmen", die den besten Fit (d.h. z.B. die niedrigste Residuennorm) erzeugt.
Grüße,
Harald
|
|
|
Turbopavel |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 29
|
|
|
|
Anmeldedatum: 22.11.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2017a
|
|
|
|
|
|
Verfasst am: 04.02.2014, 13:58
Titel:
|
|
Das klingt gut! Im Prinzip kann ich mich ja auf eine Funktion beschränken und alle Datensätze darauf "testen", wie gut diese, in meinem Falle einer Exponentialfunktion ähneln. Ich habe das mit nlinfit schon ausprobiert und es funktioniert soweit, mir ist nur nicht ganz klar, was der Vektor "beta0" beschreibt? Werde aus der Matlab-Hilfe nicht wirklich schlau...
Gruß Pavel
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 04.02.2014, 19:38
Titel:
|
|
Hallo,
beta0 ist ein Startvektor für die Schätzung der Parameter.
Da nlinfit eine lokale Optimierung macht, besteht bei schlechten Startvektoren je nach Modell mehr oder weniger die Gefahr, dass die Optimierung nicht konvergiert oder nicht das globale Minimum findet.
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.
|
|