rand
の出力は、[1 512]
にxとyの限界を広げるときにすべてのデータが内軸の低い1/512番目を示すことになるだろう0
と1
間の値を含むしようとしているとしたがって、あなたは個々の点を見ることはできません。 (y
用)
あなたはランダムな値が実際に(x
用)の範囲[1 512]
にまたがるする場合と[-1 512]
、それに応じrand
の出力を変更することをお勧めします。
x = 1 + rand(1, 50) * 511;
y = rand(1, 50) * 513 - 1;
plot(x, y, '.')
xlim([1 512]);
ylim([-1 512]);
より一般的な解決策は
myrand = @(r, varargin)rand(varargin{:}) * diff(r) + min(r);
xrange = [1 512];
yrange = [-1 512];
x = myrand(xrange, 1, 50);
y = myrand(yrange, 1, 50);
plot(x, y, '.')
xlim(xrange);
ylim(yrange);
がそれとも、あなたのポイントは、特定の領域内にしたい場合は、指定された範囲内で乱数を作成する匿名関数を作成することです軸の内側
x = myrand([50 100], 1, 50);
y = myrand([50 100], 1, 50);
plot(x, y, '.');
xlim([0 150])
ylim([0 150])
'rand'は(0,1)の範囲内で乱数を生成します。 –