在 MATLAB GUIDE 上将滑块重置为默认值

Reset slider to default on MATLAB GUIDE

我正在做一个均衡器,有低频、中频和高频三个滑块。 要将默认值设置为 0dB(1),滑块必须从中间开始。我是这样工作的:

function interfaz_OpeningFcn(hObject, eventdata, handles, varargin)
set(handles.low,'Value',0.5);
handles.low=initialvalue;
guidata(hObject, handles);

我想做一个按钮,当你按下它时,它会让滑块回到初始值。我试过这种方式:

function eq_reset_Callback(hObject, eventdata, handles)
set(handles.low,'Value',0.5);
handles.low=initialvalue;
guidata(hObject, handles);

这会导致下一个错误:

Error using handle.handle/set
Invalid or deleted object.

Error in interfaz>eq_reset_Callback (line 644)
set(handles.low,'Value',0.5);

Error in gui_mainfcn (line 96)
        feval(varargin{:});

Error in interfaz (line 42)
    gui_mainfcn(gui_State, varargin{:});

Error in
@(hObject,eventdata)interfaz('eq_reset_Callback',hObject,eventdata,guidata(hObject))


Error while evaluating uicontrol Callback

知道为什么会这样吗?其他方法吗?

试试下面的代码:

打开函数:

function interfaz_OpeningFcn(hObject, eventdata, handles, varargin)
handles.low_initialvalue = 0.5;
set(handles.low,'Value',handles.low_initialvalue);
guidata(hObject, handles);

按钮回调函数:

function eq_reset_Callback(hObject, eventdata, handles)
set(handles.low,'Value',handles.low_initialvalue);
guidata(hObject, handles);