goMatlab - Mein MATLAB Forum

Mein MATLAB Forum

 
Login  | Registrieren
Bücher:

MATLAB + Simulink: Einführung Studenten und Ingenieure

Fachkräfte:
Testingenieur (w/m) Testframework für Simulink-basierte Echtzeitanwendungen
Pflege des MATLAB/Simulink-Testframeworks, Spezifizieren von Testkriterien, Testfällen und Testszenarien
dSPACE GmbH - Paderborn

Softwareentwickler MATLAB/Simulink (w/m)
Erarbeitung von Lösungen im Bereich der Schnittstelle zum Simulink-Modell und der Benutzeroberfläche von TargetLink
dSPACE GmbH - Paderborn

Testingenieur (w/m) Konfigurationswerkzeuge für Echtzeitsysteme
Einbinden von Simulink®-Simulationsmodellen, Verteilung der Simulationsmodelle auf Multicore- und Multiprozessorsysteme
dSPACE GmbH - Paderborn

Techniker als Systemspezialist/in für Test und Absicherung (Automotive)
Testing und Absicherung von Steuergeräte-Softwarefunktionen und deren Vernetzung auf Komponenten- und Systemebene
ESG Elektroniksystem- und Logistik-GmbH - Wolfsburg

E-Drive Funktionsentwickler mit Programmierkenntnissen (m/w)
Entwicklung von Optimierungs- und Betriebsstrategien
MBtech Group GmbH & Co. KGaA - Sindelfingen bei Stuttgart, Mannheim

weitere Angebote

Partner:




Vermarktungspartner


Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

parameter durch optimierer vergleichen

 

soneil39
Forum-Anfänger
Forum-Anfänger

Beiträge: 16
Anmeldedatum: 20.10.11
Wohnort: wuppertal
Version: ---
     Beitrag Verfasst am: 03.11.2011, 11:37     Titel: parameter durch optimierer vergleichen
  Antworten mit Zitat      
habe messedaten und muss ich die pargameter für ein modell finden. anschließend eine güte funktion finden um die gefundene parameter durch ein optimierer zu vergleichen . kann jemand mir dabei helfen
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator
Moderator

Beiträge: 3879
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 6.5, 2009a
     Beitrag Verfasst am: 03.11.2011, 15:10     Titel: Re: parameter durch optimierer vergleichen
  Antworten mit Zitat      
Hallo soneil39,

Das sind zu wenige Details um sinnvoll helfen zu können.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
soneil39
Themenstarter

Forum-Anfänger
Forum-Anfänger

Beiträge: 16
Anmeldedatum: 20.10.11
Wohnort: wuppertal
Version: ---
     Beitrag Verfasst am: 03.11.2011, 20:39     Titel:
  Antworten mit Zitat      
ich soll ein modell eines system anhand von vorhandenen messwerten numerisch aproximieren.hierzu soll geeignete gütefunktion hergeleitet. die system matrizen habe ich schon gefunden. jetzt soll die güte funktion gefunden werden. danke jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister
Forum-Meister

Beiträge: 5351
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ---
     Beitrag Verfasst am: 03.11.2011, 20:59     Titel:
  Antworten mit Zitat      
Hallo,

das ist zwar etwas detaillierter, aber wo genau suchst du Unterstützung?

In welcher Form liegt das Modell vor? MATLAB? Simulink? Sollen lediglich Parameter identifiziert werden oder geht es um mehr?

Die Gütefunktion ergibt sich aus deiner Anwendung und sollte also von dir kommen. Wenn dir gar nichts besseres einfällt, kannst du die Summe der quadratischen Abweichungen von Simulation und Messdaten verwenden.

Bitte die Frage möglichst präzise stellen und dabei auch daran denken, dass wir deine Anwendung ja nun nicht vor uns haben; sonst wird es schwierig, dir zu helfen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
soneil39
Themenstarter

Forum-Anfänger
Forum-Anfänger

Beiträge: 16
Anmeldedatum: 20.10.11
Wohnort: wuppertal
Version: ---
     Beitrag Verfasst am: 08.11.2011, 13:13     Titel:
  Antworten mit Zitat      
wie kann ich die Summe der quadratischen Abweichungen von Simulation und Messdaten verwenden?
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Forum-Meister
Forum-Meister

Beiträge: 593
Anmeldedatum: 04.11.11
Wohnort: ---
Version: R2011a
     Beitrag Verfasst am: 08.11.2011, 13:32     Titel:
  Antworten mit Zitat      
Code:
lsqnonlin

brauchst aber die optimization toolbox falls es das is wonach du suchst
Private Nachricht senden Benutzer-Profile anzeigen
 
soneil39
Themenstarter

Forum-Anfänger
Forum-Anfänger

Beiträge: 16
Anmeldedatum: 20.10.11
Wohnort: wuppertal
Version: ---
     Beitrag Verfasst am: 08.11.2011, 15:36     Titel:
  Antworten mit Zitat      
die function kann ich schon aufrufen. aber ich glaube ich eine function dafür. ich habe keine ahnung wie das machen kann
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister
Forum-Meister

Beiträge: 5351
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ---
     Beitrag Verfasst am: 08.11.2011, 17:13     Titel:
  Antworten mit Zitat      
Hallo soneil39,

versuche dich bitte so klar wie möglich auszudrücken. Verstehst du deinen letzten Beitrag denn, wenn du ihn nochmal durchliest?

Da du leider immer noch nicht wirklich die Rückfragen beantwortet hast, versuche ich es mal anders.

Du brauchst:
simdata - die simulierten Daten
modell - eine Funktion, die Modellparameter a und Systemeingang x entgegennimmt und Systemausgang y zurückgibt, also der Form
Code:
function y = modell(a,x)


Dann kannst du lsqnonlin so aufrufen:
Code:
p = lsqnonlin(@(p) simdata - modell(p, x),p0)
wobei p0 Startwerte für die Parameter sind.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
soneil39
Themenstarter

Forum-Anfänger
Forum-Anfänger

Beiträge: 16
Anmeldedatum: 20.10.11
Wohnort: wuppertal
Version: ---
     Beitrag Verfasst am: 09.11.2011, 13:10     Titel:
  Antworten mit Zitat      
die simulierte daten habe ich (nur mit parameter). die function habe ich noch probleme.
die function lautet
Dx= A *x + B*u_messdaten
y_simulierte=C'*x
Die Matrizen A,B,C habe ich schon gefunden.
ich muss y_simulierte berechnen.
dazu möchte ich die kleinste quadratische abweichung verwenden.
meine frage ist:
wie kann ich das alles in matlab formulieren mit betrachtung von lsqnonlin
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister
Forum-Meister

Beiträge: 5351
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ---
     Beitrag Verfasst am: 09.11.2011, 14:08     Titel:
  Antworten mit Zitat      
Hallo,
Zitat:
die simulierte daten habe ich (nur mit parameter).

Das verstehe ich nicht. Simulierte Daten sind normalerweise so, wie sie sind, und fertig. Was bedeutet das "nur mit parameter"?

Code:
   Dx= A *x + B*u_messdaten
    y_simulierte=C'*x

Das scheint ein Differentialgleichungssystem zu sein. Das kann z.B. mit ode45 gelöst werden.

Zitat:
dazu möchte ich die kleinste quadratische abweichung verwenden.

Die Abweichung zwischen was und was?

Zitat:
meine frage ist:
wie kann ich das alles in matlab formulieren mit betrachtung von lsqnonlin

Um die Frage zu beantworten, muss erstmal die Problemstellung klar sein. Leider ist das trotz wiederholter Nachfragen bisher nicht der Fall.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
soneil39
Themenstarter

Forum-Anfänger
Forum-Anfänger

Beiträge: 16
Anmeldedatum: 20.10.11
Wohnort: wuppertal
Version: ---
     Beitrag Verfasst am: 09.11.2011, 14:41     Titel:
  Antworten mit Zitat      
ich habe die U_mess und Y_mess zu verfügung.
die kleinste quadratische abweichung muss zwischen (Y_sim-Y_mess) sein.
meine modell hat folgende gleichung
Dx= A*x+B*U_mess
Y_sim=C.x.
Die Matrizen A,B,C haben 3x3 dimension und enthalten nur paramater (p1.....bis p27).
diese Parameter sollen gefunden werden.
ich glaube diese kann ich finden. in dem ich eine function definiere und dann mit Lsqnonlin lösen
danke Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister
Forum-Meister

Beiträge: 5351
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ---
     Beitrag Verfasst am: 09.11.2011, 14:48     Titel:
  Antworten mit Zitat      
Hallo,

jetzt ist mir immerhin klar, was du eigentlich erreichen willst. Ich würde dir aber dringend raten, an deinen Formulierungen zu arbeiten. Die Aussagen "Die Matrizen A,B,C habe ich schon gefunden" und "Die Matrizen A,B,C haben 3x3 dimension und enthalten nur paramater (p1.....bis p27).
diese Parameter sollen gefunden werden." widersprechen sich nämlich vollkommen.
Da letzteres im Gesamtkontext sinnvoll ist, gehe ich von letzterem aus.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
soneil39
Themenstarter

Forum-Anfänger
Forum-Anfänger

Beiträge: 16
Anmeldedatum: 20.10.11
Wohnort: wuppertal
Version: ---
     Beitrag Verfasst am: 09.11.2011, 15:29     Titel:
  Antworten mit Zitat      
ja das stimmt die parameter sollen gefunden werden.
danke nochmal
Private Nachricht senden Benutzer-Profile anzeigen
 
soneil39
Themenstarter

Forum-Anfänger
Forum-Anfänger

Beiträge: 16
Anmeldedatum: 20.10.11
Wohnort: wuppertal
Version: ---
     Beitrag Verfasst am: 14.11.2011, 13:55     Titel:
  Antworten mit Zitat      
hi harald
hast du es gefunden?
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister
Forum-Meister

Beiträge: 5351
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ---
     Beitrag Verfasst am: 14.11.2011, 23:23     Titel:
  Antworten mit Zitat      
Hallo,

ich kann nur nochmal sagen, dass du an deinen Formulierungen arbeiten solltest. Nach dem, was du gesagt hast, bin ich nämlich davon ausgegangen, dass du jetzt weißt, wie du das Problem angehen musst.

Ungetesteter Ansatz mit 27 Unbekannten, die auf die Matrizen "aufgeteilt" werden.

Code:
function abweichung = simulation(p, u_mess, y_mess)
A = reshape(p(1:9), 3, 3);
B = reshape(p(10:18), 3, 3);
C = reshape(p(19:27), 3, 3);

x = ode45(@(x) A*x + B*u_mess, zeit, y0); % Simulationszeitraum und Anfangswerte sind einzusetzen
y_simuliert = C' * x;
abweichung = y_simuliert - y_mess


Aufruf:
Code:
p = lsqnonlin(@(p) simdata - modell(p, u_mess, y_mess),p0) % Startwerte für die Parameter sind einzusetzen


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite 1, 2  Weiter

Options and Permissions
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
.


goMatlab ist ein Teil des goForen-Labels
goForen.de goMATLAB.de goLaTeX.de goPCB.de


 Impressum  | Werbung/Mediadaten | Studentenversion | FAQ | goMatlab RSS Button RSS


Copyright © 2007 - 2012 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
Partner: LabVIEWforum.de

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.