Verfasst am: 13.07.2009, 15:18
Titel: Probleme mit Handles
Hallo
Ich erzeuge in einer Schleife viele Handles, etwas durch h11=plot(...), h12=plot(...), usw.
Später verändere ich ich dann die Ploteigenschaften durch set(h12,...). Allerdings kommt es vor dass beim, zuletzt genannten Befehl, manchmal die Eigenschaften von mehreren Plots gleichzeitig verändert werden. Das möchte ich aber nicht haben.
Jedem Handle wird ja eine Zahl zugewiesen und ich vermute mal Matlab vergibt ebend mehrfach die selbe Zahl. Kann ich irgendetwas dagegen tun? Z.B. diese Zahle selber festlegen?
manchmal die Eigenschaften von mehreren Plots gleichzeitig verändert werden
Handles von Figures kann man durch den Figure Befehl erzwingen. Damit hat man es unter Kontrolle. Ich glaube irgendwo gabe es auch eine Option Figure Handles so zu erzeugen, dass sie nicht ganzzahlig sind und die Wahrscheinlichkeit, dass sie identisch sind zu reduzieren. Finde ich gerade aber nicht.
Ich glaube ich verstehe. "Der Plot an sich" ist die Achse in der das hereingezeichnet wird. Üblich ist es mit dem GCA Befehl zu arbeiten. Man kann auch mit
Jetzt habe ich ein Fenster mit vielen gefärbten Flächen, wobei jede ein eigenes Handle hat.
Nun will ich mit set(h_i_j,'Facecolor',...) , die Farben ändern. Nun kommt es vor, dass wenn der set Befehl ausgeführt wird, sich die Farben von mehreren Flächen gleichzeitig ändern. Oft Flächen die nahe bei einander liegen.
Also dachte ich Matlab vergibt Handles mehrfach und mein Frage war nun ob ich die Zahlwerte für die Handles, selber vergeben kann.
Dann hast du mir erklärt wie ich das Handle fürs Figure Fenster setzten kann, aber das nützt mir leider nichts.
Die Handles sind immer einmalig. Ich tippe eher, dass es sich um ein Rendererproblem handelt. Besonders weil die Elemente in der Nähe des geänderten Objektes betroffen sind. Bitte einfach mal alle 3 Renderer ausprobieren:
Code:
set(gcf,'renderer','opengl')% und painters und zbuffer
Danke für die Antwort. Wenn ich deinen test für Duplikate, bei mir anwende, erscheint 'Duplikate entdeckt'. Ich werde dem noch mal näher auf den Grund gehen.
Es hat sich erledigt. Durch deinen Bsp. Code konnte ich auch bei mi feststellen, dass es nicht an den Handles liegt. Die werden wirklich nicht doppelt vergeben.
Der Fehler liegt also, woanders und ich hab heute auch alles so hinbekommen wei ich es wollte.
Noch mal besten Dank.
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
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.