|
|
Formatierung von komplexen Zahlen für EW Probleme |
|
Dada |
Forum-Newbie
|
|
Beiträge: 3
|
|
|
|
Anmeldedatum: 20.12.20
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.12.2020, 04:14
Titel: Formatierung von komplexen Zahlen für EW Probleme
|
|
|
|
|
Hallo liebe Community,
ich weiß nicht wie ich es erklären soll aber ich habe Probleme bei der Eigenwertberechnung in Matlab. Ich fang einfach mal von vorne an.
Ich möchte gerne die Eigenwerte einer Matrix für verschiedene Dimensionen berechnen. Diese Matrix setzt sich aus einer Matrix mit deren unitären Transformation zusammen. Ich füge einfach mal den Code ein.
(das oben gezeigte Programm ist eine Vereinfachung für das Forum und explizit ausgeschrieben. Ich habe verschiedene Funktionen geschrieben, damit das auch für jede Dimension funktioniert)
Wie einige von euch erkennen handelt es sich um ein Quantenphysikalisches Problem und was mir sorge bereitet ist die Matrix W.
Mein Problem:
Die Matrix M gibt Matlab mit extrem großen Brüchen aus (die "Quasi" null sind) und somit gibt Matlab auch die Eigenwerte mit Brüchen raus die geschätzt 50 stellen haben.
Ich habe es schon versucht mit round(W,5) was für eine Dimension von 2 Funktioniert aber nicht wenn es um höhere Dimensionen geht wie in dem Beispiel oben. Ich hab auch schon das Format rat oder short versucht aber nichts hat etwas gebracht.
Ich weiß das mein Programm funktioniert. Wenn ich die Matrix W explizit nochmal aufschreibe
Bekomme ich genau die Eigenwerte, die ich haben will. Kennt sich jemand mit der Formatierung aus und kann mir helfen? Ihr würdet mir sehr helfen.
Alles gute
Dada
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 20.12.2020, 10:11
Titel:
|
|
Hallo,
das Problem ist für mich die Definition von w. Wenn du die symbolisch machst, sind die Ergebnisse wie gewünscht:
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
Dada |
Themenstarter
Forum-Newbie
|
|
Beiträge: 3
|
|
|
|
Anmeldedatum: 20.12.20
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.12.2020, 12:12
Titel:
|
|
Uhh Danke Harald! Für die schnelle Antwort. Ja es funktioniert tatsächlich. Ich bekomme zwar dann Probleme bei meinem SPD in CVX da es ja nicht symbolisch rechnet. Aber zum testen muss ich dann eben immer wechseln. Das ist kein Problem.
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 22.12.2020, 12:47
Titel:
|
|
Hallo,
ich weiß offen gesagt nicht, was ich mit der Antwort anfangen soll.
Was ist SPD, was ist CVX? Zwischen was musst du wechseln?
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
Dada |
Themenstarter
Forum-Newbie
|
|
Beiträge: 3
|
|
|
|
Anmeldedatum: 20.12.20
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 24.12.2020, 00:52
Titel:
|
|
|
|
|
SPD steht für semi definite programming. Im Prinzip ist es eine Optimierung einer Funktion. Zum Beispiel, wenn man eine Funktion maximieren will unter bestimmten, festgesetzten Bedingungen, nutzt man SPD um die optimalen Werte der Variablen der Funktion zu bekommen die diese Funktion maximieren.
CVX ist ein Tool von matlab um solche Optimierungsprobleme durchzuführen.
In meinem bestimmten Fall, versuche ich die optimale Matrix unter festgesetzten Bedingungen in verschiedenen Dimensionen zu bekommen (bzw. die Spur dieser Matrix). Dafür brauche ich aber die Eigenwerte von den Bedingungen die gegeben sind damit das überhaupt funktioniert. Das „Problem” ist CVX rechnet mit der Symbol Umgebung. Deswegen muss ich jetzt für jede Dimension die Eigenwerte berechnen und die dann in den Bedingungen in CVX einfügen da CVX nicht in der Symbol Umgebung von pi arbeitet. Daher kommt immer ein Fehler.
Aber im Prinzip kein allzu großes Problem, da jedes Optimierungsproblem ein bisschen anders aussieht für jede Dimension und ich es sowieso „umschreiben“ muss. Falls du noch eine Idee hast, wie ich sowohl die Eigenwerte berechnen kann als auch W aufrufen kann ohne ein pi in der symbol Umgebung, wäre es mega! Aber du hast mir schon mit dem sym(pi) sehr geholfen!
P.S. sorry für diese Verwirrende Erklärung. War noch nie so gut darin.
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 27.12.2020, 20:41
Titel:
|
|
Hallo,
Zitat: |
wie ich sowohl die Eigenwerte berechnen kann als auch W aufrufen kann ohne ein pi in der symbol Umgebung |
Wenn w erzeugt wird, kommt doch gar kein pi mehr vor:
Du kannst das natürlich auch direkt so eingeben, wenn dir das weiterhilft.
Zitat: |
sorry für diese Verwirrende Erklärung. War noch nie so gut darin. |
Es kann sich lohnen, daran zu arbeiten ;)
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
|
|
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 - 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.
|
|