的rand
輸出要0
和1
之間包含的值,以便當展開x和y限制[1 512]
所有數據將要被內所示的下1/1/512軸的和因此你看不到每個點。
如果你希望你的隨機值實際上跨越範圍[1 512]
(用於x
)和[-1 512]
(爲y
),那麼你要相應地改變的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)內產生隨機數。 –