2012-02-15 11 views
0

私の仕事は完全にランダムな信号をプロットすることです。MATLAB:プロットランダム信号

これは、これまでの私の進歩である:

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にどのように私はそれを達成することができますしたいということでしょうか?前もって感謝します。 axis([xmin xmax ymin ymax])複数のドキュメントを、軸を設定し使用するために

+0

5と5の間に入るか、実際の軸に-5〜5を表示しますか? – Phonon

+0

私は 軸([0 200 -5 5]) を書くことで軸を-5から5に設定することができましたが、信号はまだ0から1になります。 そう、信号が値軸に示されている:/ –

+0

あなたは完全に無作為を意味しますか?どのような分布を達成したいですか?統一?正常? –

答えて

2
  1. は開区間上に均一な分布で、約0を中心とする信号を生成するために

  2. を見出すことができる-5 5の場合は、最初にrandを10倍にスケールする必要があります(randはオープン間隔(0,1)の値を生成し、範囲(-5,5)の値が必要です)。

    shiftedCenteredSig =(10 * rand(1、sig_length)) - 5%にスケーリングされ、-5から5にシフトされました

このパターン/レシピは、ドキュメントの例に見ることができる:http://www.mathworks.com/help/techdoc/ref/rand.html:例1 上の一様分布から間隔値を生成

例[B]:

r = a +(ba)。* 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') 
+0

ありがとう!それはたくさんの助けになりました! –

3

はあなたの信号が-5から5に行きたい場合は、一般的には

sig = -5 + 10*rand(1,sig_length); 

を、ランダム信号が行くのabの間に、

a + (b-a)*rand(1,length); 
関連する問題