|
|
Lösung nichtlinearer komplexer Gleichungssysteme |
|
Daniel123 |
Forum-Newbie
|
|
Beiträge: 3
|
|
|
|
Anmeldedatum: 02.07.15
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 02.07.2015, 15:30
Titel: Lösung nichtlinearer komplexer Gleichungssysteme
|
|
|
|
|
Hallo alle zusammen,
ich arbeite gerade an meiner Bachelorarbeit in Physik und muss dafür, als letzten Schritt gewissermaßen, folgendes Gleichungssystem lösen:
Es gilt dabei und man hat insgesamt M solcher Gleichungen (und entsprechend viele unbekannte v's. ist eine Konstante, die auf 1/2 gesetzt werden kann, und sind ein Set von Energien - hier einfach für . ist die Kopplungsstärke des Systems.
Ziele der ganzen Sache ist es, diese Lösungen als Funktion von g zu plotten, wobei g in der Regel zwischen 0 und 5 liegen sollte.
Über die Lösungen weiß man, dass sie entweder real sind oder komplex konjugierte Paare bilden. Man startet bei g=0 und wählt M Startwerte für v in der Nähe der Energien . (In der Tat wird das System für g=0 gerade durch eine beliebige Zuordnung gelöst, zB für und wäre v=2,3,5 denkbar.)
So weit habe ich das auch alles in den beiden unten angehängten Dateien implementiert (ein Skript (text_BCS) und eine Definition des obigen Systems(BetheBCS)). Das Problem ist tritt immer an den Stellen auf, an denen sich ein komplex konjugiertes Paar bildet. Ich habe noch einen Artikel angehängt, wie es eigentlich aussehen sollte (S.7 oben). Mein Plot sieht zwar *ähnlich* aus, aber trotz großer Zahl an Iterationsschritten halt nicht korrekt. Diese scheint auch keine große Rolle zu spielen, ob ich 300 oder 30,000 angeben, ändert wenig am Erscheinungsbild.
Ich bin leider kein großer Matlab-Experte, deswegen würde ich mich sehr freuen, wenn jemand, der sich besser damit auskennt, mal drüberschauen könnte. Vielleicht gibt es ja effektivere Algorithmen dafür?
Vielen Dank jetzt schon für eure Hilfe!
Beschreibung: |
Weiterer Artikel, in dem auch der Imaginärteil zu sehen ist (S.2) |
|
Download |
Dateiname: |
0312070v1.pdf |
Dateigröße: |
481.26 KB |
Heruntergeladen: |
425 mal |
Beschreibung: |
Artikel mit korrekter Lösung (S. 7 oben) |
|
Download |
Dateiname: |
faribault_JMathPhys_50_095212.pdf |
Dateigröße: |
1.74 MB |
Heruntergeladen: |
880 mal |
Beschreibung: |
Definition des Glecihungssystems |
|
Download |
Dateiname: |
BetheBCS.m |
Dateigröße: |
775 Bytes |
Heruntergeladen: |
383 mal |
Beschreibung: |
|
Download |
Dateiname: |
test_BCS.m |
Dateigröße: |
1.24 KB |
Heruntergeladen: |
383 mal |
|
|
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 02.07.2015, 16:02
Titel: Re: Lösung nichtlinearer komplexer Gleichungssysteme
|
|
|
|
|
Hallo Daniel123,
Du kannst nicht erwarten, dass die Leser in diesem Forum die umfangreichen und sehr speziellen Fach-Papers von Dir durch lesen, um Dein Problem zu verstehen. Das Studium der Fachliteratur bleibt den Fragenden immer alleine überlassen.
Zitat: |
Das Problem ist tritt immer an den Stellen auf, an denen sich ein komplex konjugiertes Paar bildet. |
Während Dir klar ist, was Du hier meinst, haben die Computer-Linguisten, Medizin-Techniker und Werkzeugmacher in diesem Forum keine Ahnung, was Du genau meinst.
Kannst du das Problem genauer beschreiben? Was tritt auf wenn sich wo ein komplex konjugiertes Paar bildet? Kannst Du den relevanten Code-Abschnitt posten? Was bedeutet "effizienter"? Soll es schneller laufen, oder numerisch stabiler?
Versuche Dein Problem in kleine Teile zu spalten, so dass die einzelnen Fragen mit jeweils 3 oder 7 Sätzen, bzw. 20 Zeilen Code beantwortet werden können. Dazu sollte es auf keinen fall nötig sein, die Papers zu lesen. Die Teilnehmer in diesem Forum kommen kaum hinterher alle relevanten Papers zu lesen, die ihre eigene Arbeit betreffen. Dann bleibt zum Lesen Papers für fremde Fachgebiete keine Zeit, zu mal man sich in das Thema ja auch erstmal grundsätzlich einarbeiten müsste.
Gruß, Jan
|
|
|
Daniel123 |
Themenstarter
Forum-Newbie
|
|
Beiträge: 3
|
|
|
|
Anmeldedatum: 02.07.15
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 03.07.2015, 14:33
Titel:
|
|
Hallo Jan S,
ich würde von niemand hier erwarten/verlangen, dass er die speziellen Paper liest, die ich angehängt habe. Sie waren nur dazu da, um zu verdeutlichen, wie das Endergebnis aussehen soll. Ich hätte natürlich auch die Plots dort rauskopieren und als Bilder hier anhängen können - tut mir leid, wenn ich da für Verwirrung gesorgt habe!
Ich versuche, sobald wie möglich das Problem genauer zu beschreiben. Ich suche dann auch noch mal ein Bild, wie der Plot bei mir aussieht, damit es klarer wird.
Vielen Dank für den Hinweis!
|
|
|
Daniel123 |
Themenstarter
Forum-Newbie
|
|
Beiträge: 3
|
|
|
|
Anmeldedatum: 02.07.15
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 06.07.2015, 19:54
Titel:
|
|
|
|
|
In Ergänzung zu meinem oben genannten Problem habe ich jetzt noch ein paar Erläuterungen angefügt.
Das Problem bleibt das gleiche: Für obiges nichtlineares, komplexes Gleichungssystem suche ich Lösung für vorgegebene Startwerte {v_1, v_2,..., v_M}. bei g=0. g wird dann in kleinen Schritten erhöht und für diesen neuen Wert nach Lösungen in der Nähe des vorherigen g's gesucht.
Der Ausschnitt aus meinem Code, in dem das System gelöst werden soll, lautet:
BetheBCS ist das Gleichungssystem, der Code dazu findet sich im ersten Beitrag. Komplexe Lösungen sind explizit implementiert.
Wie oben erwähnt, sind die Startwerte zunächst alle real. Es gibt jedoch kritische Punkte, an denen zwei reale Werte zusammenlaufen und ein komplex konjugiertes Paar bilden. Dieses "Zusammenlaufen findet bei mir jedoch überhaupt nicht statt.
Ich habe mein bisheriges Ergebnis und das gewünschte Ergebnis als Bilder angehängt. Ich denke, aus denen sollte ersichtlich werden, wo ein Problem auftritt - der Realteil "knickt" vorher ab (zB bei g=0.2)
Folgende Idee zur Verbesserung hatte ich, doch auch die führt nicht zum gewünschten Ergebnis: Man schaut, wo zum ersten Mal Imaginärteile auftreten und implementiert den Code zunächst nur bis zu dieser Stelle, wobei wir nur Realteile zulassen. Doch auch so gelingt es mir nicht, dass zwei Realteile zu einem zusammenlaufen.
Ich hoffe, das Problem verständlich formuliert zu haben und bin für jede Hilfe dankbar!
Beschreibung: |
So sieht es derzeit aus. Knick bei g=0.2, kein "zusammenlaufen", keine symmetrische Aufspaltung des Imaginärteils |
|
Download |
Dateiname: |
BCS_attempt.jpg |
Dateigröße: |
55.49 KB |
Heruntergeladen: |
343 mal |
Beschreibung: |
So sollte es aussehen: Oben Real- unten Imaginärteil der Lösung |
|
Download |
Dateiname: |
Unbenannt.jpg |
Dateigröße: |
38.52 KB |
Heruntergeladen: |
368 mal |
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|