如何在二维中生成均匀分布的点?
我测试了这段代码,但我不想这样做,因为在此代码中x
和y
是统一的,但(x,y)
对并不统一。
X=rand(2,N);
x= X(1,:);
y=X(2,:);
figure;
plot(x,y,'.');
答案 0 :(得分:2)
您的代码会对2D空间进行统一采样。但是Matlab中还有unifrnd
方法,可以对n-D空间进行采样。
N = 5000;
rng(320);
X=rand(2,N);
x=X(1,:);
y=X(2,:);
figure('Position',[125 125 1200 500]);
subplot(1,2,1)
plot(x,y,'.');
rng(320);
X2 = unifrnd(0,1,2,N);
x=X(1,:);
y=X(2,:);
subplot(1,2,2)
plot(x,y,'.');
答案 1 :(得分:1)