在matlab中使用hold和elseif的子图

时间:2013-06-24 21:16:56

标签: matlab matlab-guide subplot

我在绘制图形时出现问题。 无法在我的GUI中的对象(轴)上绘制旧图形。

代码:

if get(handles.checkerro,'Value') == 1
    plot(handles.axes4,tempo,real(Erro)','r')
    hold on
elseif get(handles.checkcalc,'Value') == 1
    plot(handles.axes4,tempo,real(Signal)')
    hold on
elseif get(handles.checksignal,'Value') == 1
    plot(handles.axes4,tempo,data)
end

checkerro,checkcalc和checksignal是ckeckboxes(GUI对象)

Erro,Signal和tempo是相同大小的矩阵。

当我选择ckeckerro和checkcalc(示例)时,只能看到节奏与真实(Erro)的情节。

我等待帮助。

感谢

1 个答案:

答案 0 :(得分:2)

流控制语句if ... elseif ...属于exclusive or类型。在伪代码中,它意味着:

if A is true
    then A
otherwise if B is true
    then only B
end

你可能只想要:

if get(handles.checkerro,'Value') == 1
    plot(handles.axes4,tempo,real(Erro)','r')
    hold on
end

if get(handles.checkcalc,'Value') == 1
    plot(handles.axes4,tempo,real(Signal)')
    hold on
end

if get(handles.checksignal,'Value') == 1
    plot(handles.axes4,tempo,data)
end