Matlab GUI Попытка ссылки на поле неструктурного массива
У меня есть меню GUI на Matlab с 4 кнопками (menu.fig). Тогда у меня есть 4 .fig файл, который я хочу открыть, когда я нажимаю на кнопки. Здесь все нормально, когда я открываю.fig из меню и вставляю значение для построения графика, я получаю эту ошибку:
???? Попытка обратиться к полю неструктурного массива.
Если я пытаюсь открыть 1.fig напрямую, все работает отлично.
Я прочитал, что проблема с eval(), но я не могу ее решить.
Я изменил имена переменных в каждом файле.fig
Один 1.фиг:
function pbutton1_Callback(hObject, eventdata, handles)
A1=get(handles.edtSAmp,'String');
f1=get(handles.edtSFreq, 'String');
fi1=get(handles.edtSFase, 'String');
t1=get(handles.popTipo, 'Value');
A1=str2double(A1);
f1=str2double(f1);
fi=str2double(fi1);
SinalSinusoidal(A1,f1,fi,t1);
Я получил ошибку в этой 1-й строке.
2 ответа
Я думаю, что это что-то такое, что MATLAB GUI плохо обрабатывается. Я знаю, что раньше это работало, но когда вы немного подправили свой UI или связанный с UI код и случайно изменили какую-то область, которую MATLAB сказал вам не трогать, такая проблема начинает возникать.
Работа заключается в том, чтобы запустить графический интерфейс из редактора M, нажав кнопку "Выполнить".
Я знаю, что это работает, но первоначально, когда я непосредственно запускаю это, это тоже работает. Итак, это не конец, люди просто не достигают конца.
Проблема, вероятно, с handles1
, Это не массив структур, как вы ожидаете. В GUI, созданном с помощью GUIDE, эта переменная обычно называется handles
, если у вас есть оба handles
а также handles1
удостовериться handles1
содержит ручки для объектов на рисунке. Если вы используете handles1
только, убедитесь, что вы инициализируете его правильно.