|
Raffnix |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 15.07.2008, 07:37
Titel: delete handles
|
|
Guten Morgen,
ich möchte in einer GUI mehrere plots darstellen. Soweit so gut. Ich habe in der OpenincFcn definiert:
handles.plot_1= 0;
handles.plot_2 = 0;
danach definiere ich in einem Slider-Callback
hold on
delete(handles.plot_1)
handles.plot_1 = plot(x,y)
Ich wollte dadurch meine Performance ein wenig steigern, da ich nicht immer alle Plots neu erstellen möchte.
Leider kommt dabei die Fehlermeldung: Root object may not be deleted.
Was mache ich falsch? Ich möchte ja nicht das Root-object löschen, sondern nur den plot.
Danke im Voraus
|
|
|
|
|
steve |
Ehrenmitglied
|
|
Beiträge: 2.029
|
|
|
|
Anmeldedatum: 03.09.07
|
|
|
|
Wohnort: Wien
|
|
|
|
Version: R2024a
|
|
|
|
|
|
Verfasst am: 15.07.2008, 08:16
Titel:
|
|
Moin,
mit
löschst du die Variable "x". In deinem Fall ist es wahrscheinlich besser mit
in Verbindung mit "current axes" zu arbeiten.
Gruß
Alex
_________________
>> I told me to.
____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
|
|
|
outsider |
Forum-Meister
|
|
Beiträge: 806
|
|
|
|
Anmeldedatum: 03.09.07
|
|
|
|
Wohnort: München
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 15.07.2008, 09:05
Titel:
|
|
Zitat: |
Ich wollte dadurch meine Performance ein wenig steigern, da ich nicht immer alle Plots neu erstellen möchte. |
Die Gedanke ist gut, aber die Umsetzung ist daneben...
Sobald Du PLOT befehl verwendest, erstellst Du immer einen neuen Plot und Handle. Wenn Du den Handle nicht neu erstellen willst, dann musst Du einen vorhanden Handle mit neuen Daten updaten!
d.h. in der OpeningFcn muss ein Plot-Handle initialisiert werden
und im Slider-Callback solltest Du den bereits vorhanden Handle mit neuen Daten initialisieren und zwar wie folgt:
MfG
|
|
|
Raffnix |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 15.07.2008, 10:38
Titel:
|
|
Vielen Dank für die Antworten.
Ich habe derweil die Plots mit findobj gefunden und mit delete dann wieder gelöscht. Clear hat hier - zumindest bei mir - nicht funktioniert.
Werde aber jetzt noch den Vorschlag mit Updaten ausprobieren. Ist wahrscheinlich der Beste weg.
Danke
Raffnix
|
|
|
dib0r |
Forum-Guru
|
|
Beiträge: 413
|
|
|
|
Anmeldedatum: 09.05.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 15.07.2008, 16:30
Titel:
|
|
Hallo,
die Umsetzung hat ja outsider bereits beschrieben. Ich wollte nur die Fehlermeldung erklären:
in Matlab ist das Handle "0" dem Bildschirm zugewiesen. Z.B. kannst du mit
die Bildschirmgröße (bzw. Position) ausgeben lassen. Und den Monitor kannst du als Objekt mal nicht löschen
Ansonsten werden Objekte (oder Dateien) mit
gelöscht, das war so schon richtig.
löscht Variablen.
Inwiefern es allerdings sinnvoll ist einen Plot zu löschen und neuzuzeichnen, sei dahingestellt.
MfG
|
|
|
|
|
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.
|
|