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

Optimierungsfunktionen

 

Pumuckl

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.05.2013, 12:41     Titel: Optimierungsfunktionen
  Antworten mit Zitat      
Hallo,
ich hätte da eine Frage zur Optimierung:
ich habe in der Hilfe einiges darüber gelesen, dass eine Variable innerhalb einer Gleichung optimiert werden kann innerhalb von gesetzten Grenzen.

Ich habe das Problem, dass ich eine Variable optimieren möchte für einen Satz von Gleichungen, die alle komplett unterschiedlich sind, aber die gesuchte Variable alle enthalten und die Gleichungen sollen durch die Optimierung dieser Variable eine möglichst geringe Abweichung von einigen vorgegebenen Punkten haben. Gibt es hier eine Optimierungs-Funktion, die das kann?

Jede dieser Gleichungen einzeln zu optimieren, um eine geringe Abweichung von den Punkten zu bekommen, kann ich mir vorstellen mit den gegebenen Formeln, aber die Variable so zu optimieren, dass das Optimum über alle Gleichungen raus kommt, kann ich mir anhand des gelesenen über Optimierung nicht vorstellen.

Ich würde mich über Hilfe sehr freuen.


flashpixx
Forum-Guru

Forum-Guru


Beiträge: 355
Anmeldedatum: 19.04.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.05.2013, 14:55     Titel:
  Antworten mit Zitat      
Da Du leider nicht viele Informationen preis gibst, verweise ich einmal auf:
http://de.wikipedia.org/wiki/Optimierung_(Mathematik)
http://de.wikipedia.org/wiki/Konvexe_Optimierung

Optimierung ist oft ein so genanntes NP-vollständiges Problem ( http://de.wikipedia.org/wiki/NP-Vollst%C3%A4ndigkeit ) und man weicht deshalb mittels statistischer oder numerischer Verfahren auf eine Approximation aus (z.B. ist das Lösen von DGLs eine Best-Approximation mittels Polynomen).

In Deinem Posting schreibst Du, dass Du Parameter einer Gleichung anhand von Punkten optimieren möchtest. Das ist leider zu wenig, denn eine Gleichung kann vieles sein, es kommt auch darauf an, welche Eigenschaften die Gleichung erfüllt (Monotonie, Stetigkeit, ...) und welche Eigenschaften die Punkte bzw der Vektorraum hat, in dem sich die Punkte befinden (sparse / non-sparse, hochdimensional, Pseudovektorraum, ....).

Es gibt nicht "ein" Optimierungsverfahren, um einen Parameter einer Gleichung zu bestimmen, es gibt eine Vielzahl an Methoden, jede Methode ist mehr oder weniger sinnvoll aus der Sicht der Problemstellung. Matlab bietet durchaus verschiedene Möglichkeiten zu optimieren, es ist aber letztendlich die Frage, was Du als Grundlage gegeben hast.
Private Nachricht senden Benutzer-Profile anzeigen
 
Pumuckl

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.05.2013, 22:00     Titel: Optimierungsfunktionen
  Antworten mit Zitat      
hallo,
danke erst mal für die Hinweise. Hier mein akutes Problem.
Ich habe einige experimentelle Werte gegeben (Excel Spalte P), die es anzunähern gilt mit der Gleichung im Matlab-Programm Zeile 96-102. Hierfür sollen die Parameter m2 und m3 optimiert werden, so dass die experimentellen Ergebnisse angenähert werden, allerdings mit einem m2 (zeile 7) und m3 (zeile 31) für alle 16 Zeilen (sprich für alle Gas und Flüssigkeitsgeschwindigkeiten). Ich könnte mir halt vorstellen, m2 und m3 für jede einzige Zeile zu kombinieren, aber um eine einzige bestmögliche Lösung für alle Kombinationen zu finden, fehlt mir ein Ansatz.

Ausserdem steckt irgendwo noch ein Fehler, um das ganze wieder zurück in Excel zu spielen.

Ich wäre für Hilfe dankbar.

draft_pressure_drop_10ppi_1.xls
 Beschreibung:

Download
 Dateiname:  draft_pressure_drop_10ppi_1.xls
 Dateigröße:  122 KB
 Heruntergeladen:  336 mal
pressure_10ppi.m
 Beschreibung:

Download
 Dateiname:  pressure_10ppi.m
 Dateigröße:  3.86 KB
 Heruntergeladen:  280 mal
 
flashpixx
Forum-Guru

Forum-Guru


Beiträge: 355
Anmeldedatum: 19.04.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.05.2013, 23:07     Titel:
  Antworten mit Zitat      
Nicht jeder benutzt MS Software, d.h. es ist durchaus hilfreich, wenn Du ein Format für Deine Daten wählst, die wirklich auf jedem Betriebsystem lesbar sind (TXT, XML, HDF, PDF, PNG, JPG wären sicherlich besser als Excel).

Dein Matlab Code ist unstrukturiert, ich empfehle eine dringende Überarbeitung, so dass Strukturen, die zusammen gehören z.B. als Funktionen oder Klassen gekapselt werden und definiert wird, was Ein- und Ausgaben dafür sind.
Für mich ist es z.B. völlig irrelevant ob das nun roh, x,y,z oder ppm heißt. Es sind für mich Variablen, die nach einem Schema (das problemspezifisch ist) irgendetwas berechnen. Deshalb kann ich zu Deinem Code nichts weiter sagen.

Ich kann somit nur allgemein antworten: Generell ist ein systematischer und vor allem strukturierter Ansatz sinnvoll, d.h. Du musst klären, nach welcher Definition sich die Werte verhalten z.b. einer Funktion oder einer Verteilung, wenn Du das geklärt hast, dann ist die nächste Frage nach der Struktur der Funktion, d.h. ist Stetigkeit gegeben etc. Auf dieser Basis kann man dann ein passendes Optimierungsverfahren wählen, dass man dann auch in Matlab implementieren kann.

Zur Codestrukturierung verweise ich auf http://www.clean-code-developer.de/ bzw. https://code.google.com/p/google-styleguide/ die man auch unter Matlab verwenden kann.

Wie Deine konkreten Werte zu betrachten sind, hängt von Deinem Modell, das den Daten zugrunde liegt ab, dieses kennst aber auch nur Du. Die Aussage "m2 & m3 zu kombinieren" ist nicht hilfreich, denn das Begriff "kombinieren" ist mathematisch nicht definiert, ebenso "bestmögliche Lösung aller Kombinationen". Du müsstest somit ein paar definierte Informationen zu Deinem Problem liefern, denn "raten" was Du möchtest wird der Rechner nicht können.
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 19.05.2013, 23:04     Titel: Re: Optimierungsfunktionen
  Antworten mit Zitat      
Hallo Pumuckl,
Zitat:
Ausserdem steckt irgendwo noch ein Fehler, um das ganze wieder zurück in Excel zu spielen.

Kannst Du dazu noch Details erklären? Woran bemerkst Du, dass ein Fehler vorhanden ist?

Gruß, Jan
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 - 2025 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.