如何使每个圆随机的岗位吗?

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)
结束
8的评论
马修•诺伊
马修•诺伊 2022年5月18日
好没有大问题,不要花太多的时间!

登录置评。

答案(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)
结束

s manbetx 845


释放

R2021b

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!