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

Powell Algorithmus

 

WalterP
Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 31.12.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.06.2015, 08:55     Titel: Powell Algorithmus
  Antworten mit Zitat      
Hallo
stehe vor einem Problem.
Ich benötige den Powell Algorithmus in Matlab um eine Funktion mit 2 Variablen zu minimieren. Leider habe ich keine Ahnung wie ich da rangehen soll..
Kann mir da einer vll helfen? Shocked

Vielen Dank im Voraus!

WalterP
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 12.06.2015, 10:01     Titel:
  Antworten mit Zitat      
Hallo,

mal gegoogelt?
http://www.mathworks.com/matlabcent.....optimization-using-powell

Ansonsten stellt sich die Frage, ob es wirklich genau dieser Algorithmus sein soll / muss. In der Optimization Toolbox und der Global Optimization Toolbox sind etliche Solver enthalten. Ohne Toolboxen ist fminsearch verfügbar.

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 31.12.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.06.2015, 12:21     Titel:
  Antworten mit Zitat      
Hallo Harald,

danke für die schnelle Antwort.
Ja google wurde schon benutzt. Aber das mit dem Optimization-Tool hab ich mir jetz mal genauer angeschaut.
Ich erläuter mal mein Problem, vll erbarmt sich ja jemand.


Ich habe eine Matrix mit Wechselwirkungen zwischen verschiedenen Punkten.
aus denen soll mithilfe der Formel

Fij(Dij,Wij) = (Dij - 6 + Wij)³ * |Wij|

die verschiedenen Distanzen Dij gefunden werden bei denen das System im Gleichgewicht ( Kraft Fij = 0 ) ist.

Nur leider weiß ich jetzt nicht genau welchen Solver ich genau verwenden soll.
Kann jemand weiterhelfen?

Gruß WalterP
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 16.06.2015, 12:26     Titel:
  Antworten mit Zitat      
Hallo,

für das Lösen von Gleichungen würde ich fsolve verwenden.

Sind Dij und Wij hier Skalare, d.h. die Gleichung soll elementweise für alle Einträge von D und W erfüllt sein? Falls nicht, bitte genauer erklären.

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 31.12.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.06.2015, 13:09     Titel:
  Antworten mit Zitat      
Also, ich habe mehrere Punkte im Raum. In einer Matrix stehen dann die verschiednen Wechselwirkungsfaktoren Wij zw den Punkten (Werte -5 bis 5), welche eine Wechselwirkung repräsentieren sollen. (zum Beispiel Anziehung/Abstoßung)
Dij soll so berechnet werden dass die Punkte im Raum im Gleichgewicht sind ( Fij = 0 ).
und zur Berechnung soll eben oben genannte Formel verwendet werden. Allerdings weiß ich nicht wie ich das in Matlab implementieren und optimieren soll. Confused

Grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 16.06.2015, 15:28     Titel:
  Antworten mit Zitat      
Hallo,

sind es wirklich Dij, oder vielleicht nur Di?
Anders gefragt: wieviele Wechselwirkungsfaktoren hast du und wieviele Distanzen?
Ich müsste schon das Problem verstehen, um dir wirklich helfen zu können. Ansonsten kann ich dir nur raten, die Hilfe zu fsolve anzusehen und die Beispiele durchzuarbeiten.

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 31.12.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.06.2015, 16:18     Titel:
  Antworten mit Zitat      
Angenommen es gibt 3 Punkte.
Dann hab ich 3 Wechselwirkungen W12,W13 und W23. (W21 = W12 usw.)
damit habe ich auch drei Distanzen D12, D13 und D23.
Das Wij/Dij/Fij schreibe ich nur da ich es in der Matrixschreibweise bei mir auf dem Zettel stehen habe^^

Am Schluss sollen es ca. 10 Punkte sein die sich im Gleichgewicht befinden sollen.
Vielen Dank für deine Hilfe auf jeden Fall!
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 16.06.2015, 16:28     Titel:
  Antworten mit Zitat      
Zitat:
Das Wij/Dij/Fij schreibe ich nur da ich es in der Matrixschreibweise bei mir auf dem Zettel stehen habe^^
schreib es doch so wie du es auf dem zettel hast. deine gleichung
Zitat:
ij(Dij,Wij) = (Dij - 6 + Wij)³ * |Wij|
ist ja nur eine gleichung für 2 variablen.. die hat unendlich viele lösungen.
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
WalterP
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 31.12.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.06.2015, 16:59     Titel:
  Antworten mit Zitat      
Genau so steht es ja drauf.
Ich habe 3 Punkte mit jeweils 2 Distanzen und Wechselwirkungen (Kräften) zu den anderen. Macht insgesamt 3 Distanzen/Wechselwirkungen.
Mit der Formel
Zitat:
Fij(Dij,Wij) = (Dij - 6 + Wij)³ * |Wij|

möchte ich diejenigen Distanzen berechnen mit denen das System im Gleichgewicht ist (=>Kräfte Fij = 0 ) bzw. bei möglichen mehren Punkten (bis zu 10) die geringsten Kräfte Fij.
Und hier weiß ich leider nicht wie ich das angehen soll.

Vllt hat es jetzt jemand verstanden Confused
Die Hoffnung dass ich mich gut ausdrücken kann stirbt zuletzt Very Happy
Auf jeden Fall danke für die Bemühungen Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 16.06.2015, 17:22     Titel:
  Antworten mit Zitat      
die lösung ist dij=6-wij. wenn wij 0 ist kann d irgendwas sein.
deine gleichungen hängen nicht zusammen. ich weis nicht was du da berechnen willst. wenn du da was ausrechnen willst brauchst du mehr zwangsbedingungen. in der gleichung kommt nix vor wie die abstände zusammen hängen. wenn punkt 3 von punkt 1 10 weg ist und von 2 auch kann die entfernen von 1 zu 2 maximal 20 sein. sowas taucht in deinen gleichungen aber garnicht auf. darum weis ich nicht was da gelöst werden soll
_________________

richtig Fragen
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.