尝试在相同的轨迹内生成具有多个不同幅度时期的正弦函数。
例如,幅度为1的2Hz正弦波持续10秒,10个等级的幅度为10,然后再返回幅度1持续10秒。
我尝试在此处编辑示例:http://www.mathworks.se/help/slcontrol/ug/frest.sinestream.html 但是代码出错:
input = frest.Sinestream('Frequency',[2 2 2],...
'Amplitude',[1 10 1],...
'FreqUnits','Hz',...
'SamplesPerPeriod',[40 40 40],...
'RampPeriods',[0 0 0],...
'SettlingPeriods',[1 1 1]);
plot(input)
从中收到的错误是:
Error using frest.Sinestream/set.Frequency (line 127)
The "Frequency" parameter of a sinestream signal should be a double vector consisting of unique values.
Error in frest.Sinestream/initializeParams (line 508)
obj.(varargin{2*ct-1}) = varargin{2*ct};
Error in frest.Sinestream (line 80)
obj = initializeParams(obj,inputparams{:});
Error in sine (line 1)
input = frest.Sinestream('Frequency',[2 2 2],...
答案 0 :(得分:3)
我认为它可能就像这样简单:
x=0:0.005:30;
y = sin(x*2000);
idx = 10<x & x < 20;
y(idx) = 10*y(idx);
plot(x,y)
当然,如果值不为零,这可能会在变化点处产生一些粗略的过渡。这个例子说明了这一点:
x=0:0.005:30;
y = sin(x);
idx = 10<x & x < 20;
y(idx) = 10*y(idx);
plot(x,y)