How to clear variable from GUI?

7 Ansichten (letzte 30 Tage)
Ibro Tutic
Ibro Tutic am 16 Jun. 2017
Kommentiert: Adam am 16 Jun. 2017
I am plotting from a structure called handles.data. I have a push button to clear all graphs and this structure to plot other things, but the clear command doesn't seem to be working. When I try to replot using the same code as before, I get an error saying "Subscripted assignment between dissimilar structures." When I check handles.data, I have a struct with no fields. How would I just remove the variable completely?
try
for i=1:length(handles.graphs)
close(i)
end
clear handles.name
clear handles.data
catch ME
clear handles.name
clear handles.data
handles.j=1;
end
guidata(hObject, handles);

Antworten (1)

Adam
Adam am 16 Jun. 2017
Bearbeitet: Adam am 16 Jun. 2017
handles.data = [];
will reset the field to empty (which is what I usually do because I use an isempty(...) test when using the data)
handles = rmfield( handles, 'data' );
would remove the field.
clear is used for clearing variables, you can't clear a field of a structure with it.
clear handles
would be valid syntax, but do not do this in a GUI as it will remove the whole structure and make your GUI unusable.
  2 Kommentare
Ibro Tutic
Ibro Tutic am 16 Jun. 2017
So I attempt to clear the structure by doing
handles.data=[];
When I try to plot again, I get the error "Conversion from double to struct not possible". The structure handles.data is contains a nested structure (handles.data.Plot.data). Does this matter?
Adam
Adam am 16 Jun. 2017
Well, after
handles.data = [];
it doesn't contain anything, which was the point, as far as I could tell from your question.
You have posted any plotting code so I have no idea what that does, but if you are trying to plot what is in handles.data then I would assume you have run some code which populates it again after clearing it.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Structures finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by