我的任务是绘制一个完全随机的信号。
这是我目前的进展:
sig_length = 200; % this task is part of a three plot figure so ignore the subplot part
subplot(2,2,1)
hold on
sig = rand(1,sig_length);
plot(1:sig_length,sig)
axis tight
title('Signal')
我的问题是我希望y轴的间隔为-5到5.我该如何实现?提前谢谢。
答案 0 :(得分:3)
如果您希望信号从-5变为5,
sig = -5 + 10*rand(1,sig_length);
一般情况下,对于a
和b
之间的随机信号,请使用
a + (b-a)*rand(1,length);
答案 1 :(得分:2)
要设置轴,请使用axis([xmin xmax ymin ymax])
找到更多文档http://www.mathworks.com/help/techdoc/ref/axis.html
为了创建一个以0为中心的信号,在开放区间-5到5上均匀分布,必须首先将rand缩放10倍(rand在开放区间产生值( 0,1),你需要范围(-5,5)上的值,并将其向上移动5,如下所示:
shiftedCenteredSig =(10 * rand(1,sig_length)) - 5%缩放并转移到-5到5
此模式/配方可在文档中的示例中看到:http://www.mathworks.com/help/techdoc/ref/rand.html:
示例示例1从统一分布生成值 区间[a,b]:
r = a +(b-a)。* rand(100,1);
最终代码如下所示:
sig_length = 200; % this task is part of a three plot figure so ignore the subplot part
subplot(2,2,1)
hold on
%sig = rand(1,sig_length); %note this is a uniform distribution on interval 0,1
sig = (10*rand(1,sig_length)) - 5 %scaled and shifted to be from -5 to 5
plot(1:sig_length,sig)
axis([1,sig_length,-5,5])
title('Signal')