和
您将在基本工作区中创建变量Ac。如果您之前没有在基本工作空间中将此变量声明为全局变量,那么它是存在的,但不是全局变量。然后:
函数按钮1_callback(fhref,eventdata,handles)
创建AC作为全局变量,但这不会复制基础工作区中的值,当不是一个全局。
全局变量和
assignin
分发变量是非常糟糕的选择。混合它们更加令人困惑。
GUI的清洁用法将在内部存储变量,例如,在图形的UserData中或在处理程序中。
函数varargout = gui(varargin)
函数edit1_Callback (hObject eventdata处理)
句柄。FC.= str2double(get(handles.edit1,'细绳'));
函数edit2_Callback (hObject eventdata处理)
Handles.fm = str2double(get(handles.edit2,'细绳'));
函数按钮1_callback(fhref,eventdata,handles)
ts = 1 / (10 * handles.fc);
t = 0:1 / handles.fs:0.5;
m =我* cos(2 *π* handles.fm * handles.t);
c = ac * cos(2 * pi * handles.fc * handles.t);
fs, y = fmmod (m, handles.fc handles.fd);
z = fmdemod(y,handles.fc,fs,handles.fd);
然后可以并行运行2个gui而不会产生任何混淆,因为值存储在图中。
alternativ是将变量声明为全局:
函数edit1_Callback (hObject eventdata处理)
fc = str2double (get (handles.edit1,'细绳'));
函数edit2_Callback (hObject eventdata处理)
fm = str2double(get(handles.edit2,'细绳'));
函数按钮1_callback(fhref,eventdata,handles)
m = am * cos(2 * pi * fm * t);
c = ac * cos(2 * pi * fc * t);
z = fmdemod (y, fc, fs, fd);
这样就不再有对基本工作空间的间接影响了,但是运行2个gui将无法工作,因为它们再次共享相同的值。