基于MATLAB的数字信号处理实验课的一个作业,在这里记录一下。虽然界面做的很丑,但是毕竟第一次做啦。
这是运行程序后的初始界面:
再放三张对应三个功能的运行截图:
接下来就说一下做这个系统的流程啦:
1.首先,打开matlab,点击主页—新建—图形用户界面,选择Blank GUI。并勾选将图形另存为。就会生成一个m文件和一个fig文件。fig文件就是我们要绘制的图形界面。m文件用来写一些回调函数,实现每个空间的逻辑功能。
2.现在就可以开始制作界面啦。每次修改界面时,右键点击.fig文件,选择在GUIDE中打开才可以。这个时候,可以看到左边有一堆控件,button呀面板呀什么的,可以直接拖进界面里。双击已经拖进界面中的控件,打开属性检查器,可以修改控件的样式。比如button上显示的文字,就是修改检查其中的String。 嗯面板是个好东西,加了面板果然看着清楚点。
- 设置好图形界面后,就可以具体实现每个控件的功能了。因此要编写的是CallBack回调函数。右键点击空间—查看回调—callback,会自动跳转到该控件的回调函数。
第一个面板中生成信号的功能,首先点击绘图按钮后,右边轴上绘制时域波形。
所以要在绘图button的callback里实现。下面是绘图的button控件的回调函数。
% --- Executes on button press in pushbutton2.
function pushbutton2_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
val1 = get(handles.popupmenu1,'value');
handles.Xmin = get(handles.edit2,'String')