У меня есть новая кнопка в моем графическом интерфейсе, вот ее обратный вызов:
function ptlNew_ClickedCallback(hObject, eventdata, handles)
% hObject handle to ptlNew (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
cla(handles.axes1,'reset');
clear variables
но последняя строка не работает
Что я могу сделать, чтобы очистить рабочее пространство моего графического интерфейса, не закрывая его для заполнения памяти?
мои переменные в структуре ручек
например, если у меня есть переменная X, я должен получить к ней доступ в виде дескрипторов .X
Я сделал свои переменные свойства дескриптора, потому что я хотел получить к ним доступ более чем в одной функции обратного вызова, и я не хотел делать их Global
Также я попытался очистить определенную переменную. поэтому вместо очистить переменные я использовал эту строку кода
прозрачные ручки. Фиксированные пиксели
Но это тоже не работает, и когда я пытаюсь получить к нему доступ в следующей строке с помощью кода:
handles.FiducialPixels
он печатается в окне команд точно так же, как это было раньше
Я действительно смущен, что я могу сделать?
Интересная проблема заключается в том, что строка очистить переменные или очистить дескрипторы.
Когда Ли-Аунг Ип ответил, я перевел звонок обратно на эту форму:
function ptlNew_ClickedCallback(hObject, eventdata, handles)
names = fieldnames(handles);
rmfield(handles,'FiducialPixels');
names = fieldnames(handles)
handles.FiducialPixels
но это то, что появляется в командной строке бегущих строк 4 и 5:
names =
'figure1'
'pnlControlPointsImageCoordinates'
'uitoolbar1'
'pnlCalculateParameters'
'mnuInteriorOrientation'
'btnLoad2'
'edtImageFile'
'text17'
'edtInteriorOrientation'
'edtF'
'text16'
'edtYPPA'
'text15'
'edtXPPA'
'text14'
'text13'
'btnBrowseLensDistortion'
'edtLensDistortion'
'text12'
'btnBrowseInteriorFile'
'text11'
'axes2'
'uitoggletool3'
'uitoggletool2'
'uitoggletool1'
'ptlNew'
'txtCalculation'
'btnJumpTo'
'btnLoad'
'edtImagePath'
'text9'
'btnSaveParameters'
'btnCalculate'
'edtNumber'
'text8'
'uitable1'
'btnGinput'
'btnBrowse'
'edtFilePath'
'text1'
'btngrpTypeOfOrientation'
'axes1'
'mnuItemControlPointsImageCoordinates'
'mnuItemCalculateParameters'
'rdbtnProjective'
'rdbtnAffine'
'rdbtnConformal'
'output'
'TableData'
'TableDataEmpty'
'Matrix'
'FiducialImageCoordinates'
'dataH'
'FiducialPixels'
'flag'
'X'
592 ручки. Фиксированные пиксели
ans =
1.0e + 003 *
7.5294 3.8246
0.1357 3.8723
3.9200 0.2311
3.8882 7.4499
7.4817 0.2311
0.2152 7.5294
0.2311 0.2311
7.4658 7.4817
Вы видите ручки. Фиксированные пиксели все еще существуют
Даже если вы используете guidata (hObject, handles) после третьей строки, результат будет таким же