的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)内产生随机数。 –