《圆内分布随机点.docx》由会员分享,可在线阅读,更多相关《圆内分布随机点.docx(6页珍藏版)》请在三一办公上搜索。
1、圆内分布随机点N=1e5;x1=1;y1=0.5;rc=2; %Define parameters a=2*pi*rand(N,1); r=rand(N,1); x=rc*sqrt(r).*cos(a)+x1; y=rc*sqrt(r).*sin(a)+y1; plot(x,y,.,markersize,1) N=1e5;x1=1;y1=0.5;rc=2 ; %Define parameters a=2*pi*rand(N,1); r=rand(N,1); x=sqrt(rc)*r.*cos(a)+x1; y=sqrt(rc)*r.*sin(a)+y1; plot(x,y,.,markersi
2、ze,1) 这段代码随机数离圆心越远越稀疏。这是为什么呢? 差异就在于是对随机数r开根号还是对常数rc开根号。可以用计算随机分布函数的办法推导得到: 若rU(0,1), aU(0,2pi), x=sqrt(r)cos(a), y=sqrt(r)sin(a), 则x,y在其定义域内服从均匀分布。 具体推导过程就算了,好久没有做过这种事情,推不动了。 在单位圆内生成N个点,且有x%的点标记为in-group,剩下1-x%的点标记为out-group。然后将单位圆分成三个区域, 0半径=1/3的区域内有n%的点标记为aa; 1/3半径=2/3的区域内有m%的点标记为bb; 2/3半径=1的区域内有f
3、%的点标记为cc; %x,n,m,(f=1-m-n N=30;x=0.4;n=0.2;m=0.3;f=1-m-n; aaa=;bbb=;ccc=; % N=30;x=0.4;n=0.2;m=0.3;f=1-m-n; ezplot(x2+y2=1) axis(-1.1,1.1,-1.1,1.1) axis equal; title() hold on ezplot(x2+y2=(1/3)2) ezplot(x2+y2=(2/3)2) title() % n1=round(N*x); n2=N-n1; % in group out group % aa,bb,cc % in group out g
4、roup naa=round(N*n), nbb=round(N*n); ncc=N-naa-nbb; i=1; while i=naa xx=-1+2*rand(2,1); z=xx(1)2+xx(2)2; if z=1/9 h1=plot(xx(1),xx(2),g*); i=i+1; aaa=aaa;xx(1),xx(2); else xx=; end end i=1 while i4/9 & z=1 h2=plot(xx(1),xx(2),r*); i=i+1; ccc=ccc;xx(1),xx(2); else xx=; end end i=1 while i1/9 & z=4/9
5、h3=plot(xx(1),xx(2),b*); i=i+1; bbb=bbb;xx(1),xx(2); else xx=; end end legend (h1 h2 h3,aa,bb,cc) % aaa,bbb,ccc 如何在矩形区域生成400个不均匀分布的点,如在的区域生成300个点,在生成100个点 解:LZ 要得到的均匀分布应该是连续均匀分布吧?而并非离散均匀分布。所以,我用rand函数实现如下: z = 50*rand(1,300) 50+50*rand(1,100); 20*rand(1,400).;%注意.去掉后只生成一个点 scatter(z(:,1),z(:,2) 去掉.之
6、后,运行结果为: 用matlab生成二维随机点 t=0:0.1:2*pi; plot(sin(t),cos(t); axis equal hold on A=-1+2*rand(2,500);%生成一个2行500列范围在的矩阵。 B=A(:,(A(1,:).2+A(2,:).2) rectangle(Position,1,2,4,6) A=1+4*rand(1,400); B=2+6*rand(1,400); x=A(1,:); y=B(1,:); plot(x,y,ko) t=pi/2:pi/3:2.5*pi; r=2; plot(r*sin(t),r*cos(t); axis equal
7、hold on t1=pi/2:pi/3:2.5*pi; t2=5*pi/6:2*pi/3:17*pi/6; t3=pi/2:2*pi/3:2.5*pi; t4=pi/2:pi:2.5*pi; t5=5*pi/6:pi:17*pi/6; t6=7*pi/6:pi:19*pi/6; x1=-0.5;x2=0.5; y1=-sqrt(3)/2:0.001:sqrt(3)/2; r=1; plot(r*sin(t1),r*cos(t1); axis equal hold on plot(r*sin(t2),r*cos(t2); hold on plot(r*sin(t3),r*cos(t3); ho
8、ld on plot(r*sin(t4),r*cos(t4); hold on plot(r*sin(t5),r*cos(t5); hold on plot(r*sin(t6),r*cos(t6); hold on 随机点分布: t1=pi/2:pi/3:2.5*pi; t2=5*pi/6:2*pi/3:17*pi/6; t3=pi/2:2*pi/3:2.5*pi; t4=pi/2:pi:2.5*pi; t5=5*pi/6:pi:17*pi/6; t6=7*pi/6:pi:19*pi/6; t7=0:0.01:2*pi; r=1; plot(r*sin(t1),r*cos(t1),r); axis equal hold on A=-1+2*rand(2,200); B=A(:,(A(1,:).2+A(2,:).2)-sqrt(3)/2)&(B(2,:)-sqrt(3)*(C(1,:)+1)&(C(2,:)sqrt(3)*(C(1,:)-1)&(C(2,:)sqrt(3)*(C(1,:)+1); x=C(1,:); y=C(2,:); plot(x,y,b+)