如何使每个圆随机的岗位吗?
1视图(30天)
显示旧的评论
你好Matlab社区,
我生成随机数的点(100用户)在7个不同的圈(不同的半径)1000 * 1000米的正方形盒子如图。在这里。集群的岗位(圆圈)被固定在每个迭代的情节我分享三个迭代。如何使集群(圆圈)随机的位置在每个迭代中(例如10次迭代)?。
谢谢你!
这里的代码是……
%设置随机数生成器的种子,再现性
rng默认的
%运行算法的迭代次数
硝石= 3;
每个图%的秒数后暂停
NPAUSE = 1;
%固定循环参数
NCIRCLES = 7;
x0 = (100 450 500 650 900 900 800) ';
y0 = (700 200 600 500 400 100 850) ';
%的用户数量
NUSERS = 100;% < - - -这个更改为200
为倪= 1:硝石
userCircle =兰迪(NCIRCLES NUSERS 1);
usersPerCircle = histcounts (userCircle 1: NCIRCLES + 1) ';
circleRadius =√usersPerCircle);
图
轴广场
集(gca),“盒子”,“上”)
网格在;
集(gcf,“单位”,“归一化”,“outerposition”,(0 0 1 1));
轴(1000 0 1000 [0])
字形大小= 10;
包含(的位置X(1000米),“字形大小”、字形大小);
ylabel (的位置Y(1000米),“字形大小”、字形大小);
标题(“圈内随机用户”,“字形大小”、字形大小);
轴(1000 0 1000 [0])
持有在
为数控= 1:NCIRCLES
过渡委员会= 2 *π*兰特(usersPerCircle(数控),1);
共和党全国委员会= 10 * circleRadius (nc) *兰德(usersPerCircle(数控),1);
x = x0 (nc) +共和党全国委员会。* cos (tnc);
y = y0 (nc) +共和党全国委员会。* sin (tnc);
h =情节(x, y,“。”);
集(h,“MarkerSize”,8)
结束
暂停(NPAUSE)
结束
接受的答案
马修•诺伊
2022年5月17日
你好
也许这吗?——据我理解你只想生成随机圆中心位置吗?
%设置随机数生成器的种子,再现性
rng默认的
%运行算法的迭代次数
硝石= 10;
每个图%的秒数后暂停
NPAUSE = 1;
%固定循环参数
NCIRCLES = 7;
% x0 = (100 450 500 650 900 900 800) ';
% y0 = (700 200 600 500 400 100 850) ';
%的用户数量
NUSERS = 100;% < - - -这个更改为200
为倪= 1:硝石
userCircle =兰迪(NCIRCLES NUSERS 1);
usersPerCircle = histcounts (userCircle 1: NCIRCLES + 1) ';
circleRadius =√usersPerCircle);
图(ni)
轴广场
集(gca),“盒子”,“上”)
网格在;
集(gcf,“单位”,“归一化”,“outerposition”,(0 0 1 1));
轴(1000 0 1000 [0])
字形大小= 10;
包含(的位置X(1000米),“字形大小”、字形大小);
ylabel (的位置Y(1000米),“字形大小”、字形大小);
标题(“圈内随机用户”,“字形大小”、字形大小);
轴(1000 0 1000 [0])
持有在
%为圆圈位置创建随机值
x0 =兰迪([100800]NCIRCLES 1);
y0 =兰迪([100800]NCIRCLES 1);
为数控= 1:NCIRCLES
过渡委员会= 2 *π*兰特(usersPerCircle(数控),1);
共和党全国委员会= 10 * circleRadius (nc) *兰德(usersPerCircle(数控),1);
x = x0 (nc) +共和党全国委员会。* cos (tnc);
y = y0 (nc) +共和党全国委员会。* sin (tnc);
h =情节(x, y,“。”);
集(h,“MarkerSize”,8)
结束
暂停(NPAUSE)
结束
答案(1)
艾伦
2022年5月24日
只是改变你的
x0
和
y0
变量随机值向量,在你的主
为
循环。
%设置随机数生成器的种子,再现性
rng默认的
%运行算法的迭代次数
硝石= 3;
每个图%的秒数后暂停
NPAUSE = 1;
%固定循环参数
NCIRCLES = 7;
% x0 = (100 450 500 650 900 900 800) ';
% y0 = (700 200 600 500 400 100 850) ';
%的用户数量
NUSERS = 100;% < - - -这个更改为200
为倪= 1:硝石
%设置x0 & y0随机值。使用900这是最大的
%先前定义的最大价值。使用任何合适的马克斯。
%,如果x0 & y0不需要整数值,使用rand ()。
x0 =兰迪(900年,[NCIRCLES, 1]);
y0 =兰迪(900年,[NCIRCLES, 1]);
userCircle =兰迪(NCIRCLES NUSERS 1);
usersPerCircle = histcounts (userCircle 1: NCIRCLES + 1) ';
circleRadius =√usersPerCircle);
图
轴广场
集(gca),“盒子”,“上”)
网格在;
集(gcf,“单位”,“归一化”,“outerposition”,(0 0 1 1));
轴(1000 0 1000 [0])
字形大小= 10;
包含(的位置X(1000米),“字形大小”、字形大小);
ylabel (的位置Y(1000米),“字形大小”、字形大小);
标题(“圈内随机用户”,“字形大小”、字形大小);
轴(1000 0 1000 [0])
持有在
为数控= 1:NCIRCLES
过渡委员会= 2 *π*兰特(usersPerCircle(数控),1);
共和党全国委员会= 10 * circleRadius (nc) *兰德(usersPerCircle(数控),1);
x = x0 (nc) +共和党全国委员会。* cos (tnc);
y = y0 (nc) +共和党全国委员会。* sin (tnc);
h =情节(x, y,“。”);
集(h,“MarkerSize”,8)
结束
暂停(NPAUSE)
结束