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

Kurvenanpassung: Unabhänigkeit der Parameter prüfen

 

frankne
Forum-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 08.02.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.02.2010, 20:56     Titel: Kurvenanpassung: Unabhänigkeit der Parameter prüfen
  Antworten mit Zitat      
Hallo,

ich habe Messdaten und möchte mit Hilfe von diesen die Parameter eines Modells bestimmen. Dazu benutze ich die Funktion lsqcurvefit() von matlab. Gibt es eine Möglichkeit die Unabhängigkeit der Parameter zu prüfen?

Einfaches Beispiel: y = (a+b)*x+c wobei y und x meine Messdaten sind und a,b,c die Parameter. Die Kurvenanpassung würde folgenden Vektor ausgeben: [1 2 3] wobei auch der Vektor [0 3 3] möglich wäre. In diesem Beispiel ist der Zusammenhang von a und b offensichtlich. Was ist wenn ich jedoch durch die Methode des "scharfen Hinsehens" keine Zusammenhang erkenne. Lässt sich ein Zusammenhang/Abhängigkeit auch mit Hilfe von Matlab nachweisen?

VG Frank
Private Nachricht senden Benutzer-Profile anzeigen


Thomas84

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.02.2010, 06:34     Titel:
  Antworten mit Zitat      
Hallo,

du musst die Korrelation zwischen den Parametern betrachten. Falls diese groß ist gibt es eine starke Abhängigkeit zwischen den Parametern. Die Korrelationsmatrix lässt sich aus der Hess-Matrix (Matrix der 2. Ableitungen am Funktionsminimum) bestimmen.

Kovarianzmatrix = 2 * inv(Hess)

Der Korrelationskoeffizient ist dann einfach die normierte Kovarianz. Die Hess-Matrix kannst du dir bei fminunc mit ausgeben lassen. Bei der Verwendung von lsqcurvefit geht das wohl nicht so einfach (Es sei denn du kannst die Matrix analytisch berechnen).

viele Grüße
Thomas
 
frankne
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 08.02.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.02.2010, 12:32     Titel:
  Antworten mit Zitat      
Hallo, ich glaube ich habe mich nicht richtig ausgedrückt. Schlussendlich möchte ich prüfen, ob die von lsqcurvefit erhaltene Lösung die einzige ist, oder ob es nur eine von Vielen ist

Darum nützt es hier nichts die Korrelation zu prüfen.

VG Frank
Private Nachricht senden Benutzer-Profile anzeigen
 
Thomas84

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.02.2010, 13:51     Titel:
  Antworten mit Zitat      
wenn der Korrelationskoeffizient zweier Parameter 1 oder -1 ist dann gibt es eine Abhängigkeit zwischen den Parametern und die erhaltene Lösung ist nicht eindeutig.
 
frankne
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 08.02.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.02.2010, 10:43     Titel:
  Antworten mit Zitat      
Danke für dein Bemühen, aber ich habs noch nicht verstanden.

Wenn ich dein Vorgehen an einem einfachen Beispiel: y = (a+b)*x+c nachvollziehe. erhalte ich doch eine 3x3 Nullmatrix??
d^2f/(da*da) = 0 und d^2f/(da*db) = 0 ... unabhängig von x
Private Nachricht senden Benutzer-Profile anzeigen
 
Thomas84

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.02.2010, 13:16     Titel:
  Antworten mit Zitat      
Ich meine die Hess'sche Matrix der zu minimierenden Funktion. Also:

f = sum_k (z_k - (a+b)x_k - c)^2

In diesem linearen Fall (vielleicht auch allgemein) hat die Hess'sche Matrix keinen vollen Rank und ist nicht invertierbar. Wenn das passiert gibt es eine Abhängigkeit zwischen den Parametern.
 
frankne
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 08.02.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.02.2010, 14:16     Titel:
  Antworten mit Zitat      
Ich denke jetzt hab ichs verstanden. Danke!!!
Private Nachricht senden Benutzer-Profile anzeigen
 
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.