如何在按下按钮 2 之前删除 GUI 中的信号?

How can I delete signal in GUI before press push button2?

我的 GUI 中有 2 个按钮。现在,当我按下 pb1 时,正弦波信号出现在我的图表中。同样,当我按下 pb2 时,随机信号出现。但是 pb2 信号来自正弦波信号 (pb1)。如何在按下 pb2 信号之前去除正弦波信号???

假设您有一个带有单轴(称为 Graph)和两个按钮的 GUI:一个用于绘制波形信号,一个用于绘制随机信号。

由于两个按钮都在同一轴上绘制数据,因此在绘制新数据之前必须清除它,以避免重叠。这可以使用 cla function.

来执行

这是两个按钮处理程序的示例:

% Button handler for plotting a wave signal.
function pushbutton1_Callback(hObject, eventdata, handles) 
    fc = 60;     % frequency
    fs = 8000;   % samples per second
    dt = 1 / fs; % seconds per sample
    st = 0.1;    % seconds
    t = (0:dt:st-dt)';
    x = cos((2 * pi()* fc) .* t);

    % Clear axis before plotting the new signal...
    cla(handles.Graph);
    plot(handles.Graph,t,x);
end

% Button handler for plotting a random signal.
function pushbutton2_Callback(hObject, eventdata, handles)
    x = rand(100,1);

    % Clear axis before plotting the new signal...
    cla(handles.Graph);
    plot(handles.Graph,x);
end

输入新的推送命令时,您可以先清除坐标轴。为此,您可以使用 cla 函数:

cla(handles.axes1)
plot(handles.axes1,x,y)