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 только, убедитесь, что вы инициализируете его правильно.

Другие вопросы по тегам