设计GUI软件界面,能够实现信号发生器软面板功能,可以产生任意参数的方波、正弦波、三角波等
面板设计如下:
关键代码如下:
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67这里给出关键部分:回调函数,其他部分均为系统初始化时的内容,就不再占篇幅赘述了。 %方波函数 function pushbutton1_Callback(hObject, eventdata, handles) A=str2num(get(handles.edit1,'string')); w=str2num(get(handles.edit2,'string')); z=str2num(get(handles.edit5,'string')); fanweil=str2num(get(handles.edit6,'string')); fanweir=str2num(get(handles.edit7,'string')); fanweiu=str2num(get(handles.edit8,'string')); fanweid=str2num(get(handles.edit9,'string')); t=fanweil:0.01:fanweir; y=A*square(w*t,z); plot(handles.axes1,t,y); axis([fanweil fanweir fanweiu fanweid]); %正弦波函数 function pushbutton2_Callback(hObject, eventdata, handles) fanweil=str2num(get(handles.edit6,'string')); fanweir=str2num(get(handles.edit7,'string')); fanweiu=str2num(get(handles.edit8,'string')); fanweid=str2num(get(handles.edit9,'string')); A=str2num(get(handles.edit1,'string')); w=str2num(get(handles.edit2,'string')); t=fanweil:0.01:fanweir; y=A*sin(w*t); plot(handles.axes1,t,y); axis([fanweil fanweir fanweiu fanweid]); %三角波函数 function pushbutton3_Callback(hObject, eventdata, handles) fanweil=str2num(get(handles.edit6,'string')); fanweir=str2num(get(handles.edit7,'string')); fanweiu=str2num(get(handles.edit8,'string')); fanweid=str2num(get(handles.edit9,'string')); kuan=str2num(get(handles.edit3,'string')); xie=str2num(get(handles.edit4,'string')); A=str2num(get(handles.edit1,'string')); w=str2num(get(handles.edit2,'string')); t=fanweil:0.01:fanweir; y=A*tripuls(w*t,kuan,xie); plot(handles.axes1,t,y); axis([fanweil fanweir fanweiu fanweid]); %清空函数 function pushbutton4_Callback(hObject, eventdata, handles) try delete(allchild(handles.axes1)); end %白噪声函数 function pushbutton5_Callback(hObject, eventdata, handles) fanweil=str2num(get(handles.edit6,'string')); fanweir=str2num(get(handles.edit7,'string')); fanweiu=str2num(get(handles.edit8,'string')); fanweid=str2num(get(handles.edit9,'string')); t=fanweil:0.01:fanweir; y=randn(1,length(t)); plot(handles.axes1,t,y); axis([fanweil fanweir fanweiu fanweid]); %锯齿波函数 function pushbutton6_Callback(hObject, eventdata, handles) fanweil=str2num(get(handles.edit6,'string')); fanweir=str2num(get(handles.edit7,'string')); fanweiu=str2num(get(handles.edit8,'string')); fanweid=str2num(get(handles.edit9,'string')); A=str2num(get(handles.edit1,'string')); w=str2num(get(handles.edit2,'string')); t=fanweil:0.01:fanweir; y=A*sawtooth(w*t); plot(handles.axes1,t,y); axis([fanweil fanweir fanweiu fanweid]);
最后
以上就是现实牛排最近收集整理的关于【matlab】GUI信号发生器软面板的全部内容,更多相关【matlab】GUI信号发生器软面板内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复