|
|
Approximation einer Funktion |
|
Fat_Tony |
Forum-Anfänger
|
|
Beiträge: 10
|
|
|
|
Anmeldedatum: 29.11.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 03.07.2010, 09:46
Titel: Approximation einer Funktion
|
|
Guten Tag,
ich habe an einem Versuchsstand Messwerte aufgenommen und möchte diese nun durch eine Funktion approximieren.
Ein Bild der aufgenommenen Messergebnisse hab ich angehangen.
Approximiert werden soll das ganze nun durch die Funktion:
Y(x) = A*e^(D*x)+B*e^(E*x)+C
A-E sind dabei frei wählbar.
Welche Möglichkeiten bzw. Funktionen stehen mir da zur Verfügung?
Gruß Dennis
Beschreibung: |
|
Download |
Dateiname: |
Unbenannt-1.jpg |
Dateigröße: |
109.02 KB |
Heruntergeladen: |
1842 mal |
|
|
|
|
|
josekamara |
Forum-Meister
|
|
Beiträge: 529
|
|
|
|
Anmeldedatum: 26.04.08
|
|
|
|
Wohnort: München
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 03.07.2010, 10:10
Titel:
|
|
Du kannst z. B lagrange´sche Polynom verwenden. Dabei stimmen die Funktionwerte mit der Messwerten überrein.
_________________
Simulation
|
|
|
Fat_Tony |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 10
|
|
|
|
Anmeldedatum: 29.11.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 04.07.2010, 11:33
Titel:
|
|
Gibt es da eine Funktion für ?
Kann ich dafür vieleicht nicht polyfit verwenden?
|
|
|
Blackbrook |
Forum-Anfänger
|
|
Beiträge: 16
|
|
|
|
Anmeldedatum: 06.02.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2014b
|
|
|
|
|
|
Verfasst am: 04.07.2010, 14:33
Titel:
|
|
Fat_Tony hat Folgendes geschrieben: |
Gibt es da eine Funktion für ?
Kann ich dafür vieleicht nicht polyfit verwenden? |
Das wäre mein Vorschlag gewesen:
wobei t der Zeitvektor is und u die Messpunkte.
Viele Grüße,
Blackbrook
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 04.07.2010, 16:41
Titel:
|
|
Hallo,
polyfit ist ausschließlich zum Fitten von Polynomen gedacht. Die gewünschte Kurve ist eindeutig keines. Empfohlene Befehle:
nlinfit (Statistics Toolbox)
cftool (Curve Fitting Toolbox)
Grüße,
Harald
|
|
|
Fat_Tony |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 10
|
|
|
|
Anmeldedatum: 29.11.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 05.07.2010, 08:15
Titel:
|
|
Zitat: |
polyfit ist ausschließlich zum Fitten von Polynomen gedacht. Die gewünschte Kurve ist eindeutig keines. |
Genau so ist es, es muss an die vorgegebene Funktion angenährt werden.
Leider hab ich hier im Labor nur Matlab 2006a.
Da sind die tools nicht dabei, oder muss ich die sowieso zusätzlich laden?
Hab höchstens "Basic Fitting" dabei, das kann aber leide nicht nach vorgegebenen Funktionen Approximierten.
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 05.07.2010, 08:44
Titel:
|
|
Hallo,
gib mal folgendes ein:
Taucht da zumindest die Statistics Toolbox oder Optimization Toolbox auf? Ohne zumindest eines dieser beiden sehe ich keine Möglichkeit.
Diese Toolboxen setzen auf MATLAB auf und werden von Mathworks zusätzlich zu MATLAB vertrieben. Es hängt von der gekauften Lizenz ab, was man zur Verfügung hat und was nicht.
Grüße,
Harald
|
|
|
Fat_Tony |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 10
|
|
|
|
Anmeldedatum: 29.11.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 05.07.2010, 09:43
Titel:
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 05.07.2010, 10:05
Titel:
|
|
Hallo,
Dann schau dir mal
an. Ich hoffe, das gabs damals schon.
Grüße,
Harald
|
|
|
Fat_Tony |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 10
|
|
|
|
Anmeldedatum: 29.11.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 05.07.2010, 11:52
Titel:
|
|
Ja hab es gefunden.
wenn ich das richtig verstanden habe muss ich zunächst einmal eine Funktion erstellen. In meinem Fall wäre das:
Diese Speicher ich unter myfun.
Anschließend erstelle ich zwei Arrays mit den x und y Werten und dem Bereich in dem ich approximieren möchte:
Aber wie muss ich jetzt lsqcurvefit anwenden?
?
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 05.07.2010, 12:02
Titel:
|
|
Hallo,
schon mal einen Blick in die Doku geworfen? Dann sollte eigentlich klar werden, dass es so nicht gehen kann. Es muss ein Parametervektor übergeben werden:
Der Aufruf dann mit:
xo muss ein Vektor mit 5 Elementen sein, der die Startwerte für die Parameter enthält.
Grüße,
Harald
|
|
|
Fat_Tony |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 10
|
|
|
|
Anmeldedatum: 29.11.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 05.07.2010, 14:21
Titel:
|
|
Danke das funktioniert gut
|
|
|
Gastausdemnorden |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 29.12.2011, 13:26
Titel:
|
|
ich weiß dieses Thema ist schon alt, aber es passt gerade so gut, bevor ich jetzt ein neues aufmache...
ich habe es genau so gemacht wie hier beschrieben, mit lsqcurvefit,
aber ich bekomme eine Fehlermeldung:
"Function definitions are not permitted in this context"
warum soll ich mir keine funktion definieren dürfen??
danke schonmal
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 29.12.2011, 14:46
Titel:
|
|
Hallo,
eine Funktion muss generell in einer eigenen Datei stehen. Es gibt Ausnahmen, aber die treffen bei dir offensichtlich nicht zu.
Insbesondere muss das "function" - Schlüsselwort am Anfang der ersten Code-Zeile stehen, und man kann nicht in einem Skript unten eine Funktion anhängen.
Falls das dein Problem nicht löst, bitte den entsprechenden Code posten.
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.
|
|