|
|
plot(KomplexeMatrix,'.') und dann set(NeueKomplexeMatrix) |
|
WebFritzi |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 21.07.2011, 16:25
Titel: plot(KomplexeMatrix,'.') und dann set(NeueKomplexeMatrix)
|
 |
Ich habe eine Reihe von Matrizen mit komplexen Werten und möchte diese Werte gerne der Reihe nach plotten. Der Einfachheit halber nehmen wir uns nur zwei Matrizen, z.B.
A = [1+i,2-i ; 3,4+i]
B = [1,2+i ; 5-i,9].
Zunächst mache ich
Sieht gut aus. Er plottet mir die vier Punkte. Den EraseMode setze ich auf 'none', damit die Punkte von A im Plot bleiben, wenn ich die Punkte von B hinzufüge. Aber dieses Hinzufügen ist mein Problem. Für Vektor-Plots geht das mit
Doch leider gibt es nicht sowas wie 'MatrixData'. Wie bekomme ich die Punkte von B in meinen Plot? Wenn ich
eingebe, bekomme ich die Fehlermeldung
"Value must be a column or row vector",
obwohl im Hilfe-Thema "Lineseries Properties" bei XData steht: "Vector or matrix".
Ich würde mich über eine Antwort von euch freuen.
|
|
|
|
|
eupho |

Forum-Meister
|
 |
Beiträge: 777
|
 |
|
 |
Anmeldedatum: 07.01.09
|
 |
|
 |
Wohnort: Marburg
|
 |
|
 |
Version: R2009b
|
 |
|
|
 |
|
Verfasst am: 21.07.2011, 18:36
Titel:
|
 |
Wieso benutzt du nicht einfach
|
|
|
WebFritzi |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 21.07.2011, 18:47
Titel:
|
 |
Hm, und dann? Ich verstehe nicht ganz, was du mir sagen willst. Wie kriege ich mit "hold on" meine B-Daten in den Plot? Einfach wieder ein Plot?
|
|
|
eupho |

Forum-Meister
|
 |
Beiträge: 777
|
 |
|
 |
Anmeldedatum: 07.01.09
|
 |
|
 |
Wohnort: Marburg
|
 |
|
 |
Version: R2009b
|
 |
|
|
 |
|
Verfasst am: 21.07.2011, 18:59
Titel:
|
 |
Entweder ist das die durchaus triviale Lösung für dein Problem, oder du müsstest es nochmal präzisieren
|
|
|
WebFritzi |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 22.07.2011, 03:24
Titel:
|
 |
Jo, ok, das klappt. Vielen Dank! Hab aber irgendwo gelesen, dass ein neuer Aufruf von plot langsamer vonstatten geht als das Arbeiten mit set und dem Handle. Ist da was dran? Meine Matrizen sind sehr groß...
Dieses "hold on" friert also alle Eigenschaften des Plots ein, und ich darf mit einem neuen plot() neue Objekte hinzufügen ohne die alten zu ändern. Richtig?
|
|
|
eupho |

Forum-Meister
|
 |
Beiträge: 777
|
 |
|
 |
Anmeldedatum: 07.01.09
|
 |
|
 |
Wohnort: Marburg
|
 |
|
 |
Version: R2009b
|
 |
|
|
 |
|
Verfasst am: 22.07.2011, 09:21
Titel:
|
 |
Korrekt. Das was du vorher gemacht hast, ist eigentlich für ganz andere Zwecke geeignet.
Wenn du x-Werte hast, kannst du das übrigens auch in eine Zeile schreiben:
|
|
|
Andy386 |

Forum-Guru
|
 |
Beiträge: 485
|
 |
|
 |
Anmeldedatum: 24.06.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.1/8
|
 |
|
|
 |
|
Verfasst am: 23.07.2011, 19:43
Titel:
|
 |
wenn du mit der set-Lösung arbeiten willst, sollte das auch gehen.
Guck dir aber mal die Form der dort hinterlegten Werte an:
dann siehst du, dass die Werte recht kompliziert in einem Cellarray verbaut sind - dein neues Array, was du mit Set belegen willst, muss dann auch die Form haben.
Bei normalen plots würde das so gehen, wie du es ungefähr vorhast (auch wenn noch der get-Teil fehlt, um die alten werte wieder mitzuspeichern).
_________________
Ich hasse es wenn die Leute Fragen stellen, man dann versucht sich Mühe zu geben, und diejenigen ihren Thread nie wieder besuchen...
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 24.07.2011, 01:48
Titel:
|
 |
Hallo Andy386,
Um genau zu sin sind die Wert nicht in einem Cell-Arrays hinterlegt, sondern zunächst in DOUBLE Arrays. Aber "H" ist ein Vector und deshalb erstellt "get(H, ...)" ein Cell-Array.
Das anfängliche "H=plot(Matrix)" erzeugt nämlich nicht einen, sondern zwei LINE-Obkjekte.
Die Geschwindigkeitsvorteile durch SET statt dem neu zeichnen per PLOT sind relevant, wenn man z.B. in einer Animation ein paar tausend Dreiecke erstellt, z.B. per SPHERE(60). Für ein paar Linien dürfte der Laufzeitunterschied nicht bemerkbar sein.
Gruß, Jan
|
|
|
|
|
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.
|
|