三、示例学习
4.使用仪表控件
(1)界面
这次的界面主要以仪表控件为主,包括信号灯、分档旋钮、旋钮、开关等。不做细节介绍。
(2)代码简述
properties (Access = private)
autoUpdate
end
系统自动更新:autoUpdate
p = generatePulse(app) ;
产生脉冲
if strcmp(plotType,‘Pulse‘)
strcmp() 会根据 ASCII 编码依次比较 str1 和 str2 的每一个字符,直到出现不到的字符,或者到达字符串末尾(遇见\0)。
返回值:
如果返回值 < 0,则表示 str1 小于 str2。
如果返回值 > 0,则表示 str2 小于 str1。
如果返回值 = 0,则表示 str1 等于 str2。
lp=length(p);
Y=fft(p);
sig=abs(Y(1:ceil(lp/2)));
f=linspace(0, frequency/2, ceil(lp/2));
plot(app.PulsePlotUIAxes, f(sig>1e-4), sig(sig>1e-4));
length():取字符串的长度;
abs():取绝对值;
linspace():inspace是Matlab中的一个指令,用于产生0 到 frequency/2 之间的ceil(lp/2) 步长的行矢量
ceil函数:朝正无穷大方向取整
frequency = app.FrequencyEditField.Value ;
signalLength = app.SignalLengthsEditField.Value ;
edge = app.EdgeKnob.Value ;
window = app.WindowKnob.Value ;
modulation = str2double(app.ModulationKnob.Value) ;
lowpass = app.LowPassKnob.Value ;
highpass = app.HighPassKnob.Value ;
dispersion = str2double(app.DispersionKnob.Value) ;
对于旋钮,调用语句为: