【发布时间】:2018-05-23 11:23:42
【问题描述】:
每个人。可能,我在这里犯了一个完全愚蠢的错误,但问题是:
我使用 MATLAB GUIDE 制作了一个 GUI。我在 GUI 中添加了一些复选框,这样如果选中它们就会在 axes2 上绘制一些东西,否则将其删除。如果你问的话,会有其他的情节,所以有等待。它的工作原理是这样的:
function checkbox1_Callback(hObject, eventdata, handles)
% Hint: get(hObject,'Value') returns toggle state of checkbox1
if get(hObject, 'Value') == 1
axes(handles.axes2);
x = handles.x;
distanceX_Plot = evalin('base', 'CAN2_MPC_C19_Dist_X_VehObj0_Cval_MPC');
hold on;
distanceX_Plotted = plot(x,distanceX_Plot, 'r');
legend('Distance X')
hold off;
else
delete(distanceX_Plotted);
end
但 IF 部分中的 distanceX_Plotted 带有下划线,表示变量可能未使用,而 ELSE 语句中的第二个 distanceX_Plotted 表示该变量可能在定义之前使用。
完整的错误是这样的:
未定义的函数或变量'distanceX_Plotted'。
无标题错误>checkbox1_Callback (line 224) delete(distanceX_Plotted);
gui_mainfcn 中的错误(第 95 行) feval(varargin{:});
无标题错误(第 42 行)gui_mainfcn(gui_State, varargin{:});
matlab.graphics.internal.figfile.FigFile/read 中的错误>@(hObject,eventdata)untitled('checkbox1_Callback',hObject,eventdata,guidata(hObject)) 评估 UIControl 回调时出错
感谢您的帮助。
【问题讨论】:
标签: matlab user-interface plot axes