WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Fit-Problem

 

Fragezeichen

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.01.2009, 13:23     Titel: Fit-Problem
  Antworten mit Zitat      
ich bin matlab-neuling und muss für eine arbeit folgendes problem realisieren:

PROBLEM 1:

ich habe aus messungen Datenpunkte (X,Y).

Ziel ist es, eine Funktion der Form

Y = a * k1^b * k2^c zu finden, die die Datenpunkte am besten annähert, also einen Fit zu machen.

a, b, c sind die Variablen, die mir der Fit ausspucken soll,
Y, k1 und k2 muss ich für jeden Datenpunkt neu vorgeben.



PROBLEM 2:

wenn das läuft muss ich in einem neuen Schritt, das obige Problem so modifizieren, dass ich mehrere Graphen gleichzeitig fitte und ein Fitparameter für alle Graphen gleichzeitig und die anderen Parameter für alle Graphen einzeln bestimmt werden muss.

Ich komm einfach nicht mehr weiter. Vielleicht kann mir jemand weiter helfen!


Idefix_1024
Forum-Century

Forum-Century


Beiträge: 230
Anmeldedatum: 16.10.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.01.2009, 13:47     Titel:
  Antworten mit Zitat      
dieses Fit Problem kann Matlab sehr schnell lösen!
Hier mal ein Beispiel...
- x und y sind die gemessenen Punkte
- unter fittype wird die Funktion definiert, die verwendet werden soll.
- hier eine Logarithmus Funktion mit der ich das mal gemacht hab
- die Parameter der Funktion die Matlab optimieren soll sind a b und c
- man muss nur noch StartPoint Werte angeben für die gesuchten Parameter... können oft auch völlig falsche Vermutungen sein; Matlab fängt dann mit diesen Parametern an und sucht nach dem Optimum

Code:

x           = [0; 0.1; 0.2; 0.3; 0.4; 0.5; 0.6; 0.7; 0.8; 0.9; 1; 2; 3; 4];
y           = [0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 1; 9; 24; 42];
pkte = length(x);

f = fittype('a*log(x+b)+c*x');
fit1 = fit(x,y,f,'StartPoint',[-35.2 0.9865 24.13]);
 


Als Ergebnis erhält man dann die optimalen Parameter a b c

wie meinst du das mit Y k1 k2 muss ich für jeden Datenpunkt neu vorgeben ???
Du suchst doch EINE Funktion die dann ALLE Datenpunkte gut annähert oder hab ich da was falsch verstanden?
Problem 2 versteh ich auch ned wirklich...
evtl helfen meine Zeilen trotzdem ein wenig weiter?

viel Erfolg
Private Nachricht senden Benutzer-Profile anzeigen
 
Fragezeichen

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.01.2009, 14:01     Titel:
  Antworten mit Zitat      
Danke für die erste Hilfe.

Idefix_1024 hat Folgendes geschrieben:


wie meinst du das mit Y k1 k2 muss ich für jeden Datenpunkt neu vorgeben ???




Die Zielfunktion soll keine Funktion in Abhängigkeit von x sein, sondern abhängig von k1 und k2.
 
Idefix_1024
Forum-Century

Forum-Century


Beiträge: 230
Anmeldedatum: 16.10.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.01.2009, 14:13     Titel:
  Antworten mit Zitat      
hmm
kannst du mal für doofe (wie mich) erklören was das genau werden soll...

du hast Messwerte x und y
die möchtest du annähern mit einer Funktion
diese Funktion ist abhängig von drei Parametern a b c
außerdem ist die Funktion nicht von der Zeit, Strom bzw dem x der Messwerte abhängig sondern von irgendwelchen Parametern k1 und k2
was soll denn das für ein Fit werden??
willst du eine Fläche fitten oder wie??
Private Nachricht senden Benutzer-Profile anzeigen
 
Fragezeichen

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.01.2009, 15:09     Titel:
  Antworten mit Zitat      
Ziel ist es eine Funktion über die Zeit zu erstellen.

Bei jedem Messpunkt (X,Y) habe ich aber für jedes X einen anderen Wert für k1 und k2, da diese auch von der Zeit abhängig sind.
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.