平等大小的随机分类,使用randi?

3次查看(最近30天)
克里斯基克利
克里斯基克利 2021年5月2日
评论: 乍得格林 在2021年5月3日
大家好,
我已经使用以下代码来生成一个随机整数矩阵(1和2)。然而,我发现在每一列中随机整数的数量不等(例如,在某些列中有11个“1”和8个“2”)。我想知道我怎么才能 一种 固定金额 同样大小的条件 使用此功能。在哪里,我可以在所有六列中获得十个“1”和十个“2”同样传播,仍然保持随机顺序。我是我使用正确的函数(randi)来完成这件事吗?如果我不清楚我的问题,请告诉我。
亲切的问候,
t = [];
2 = 1;
II <= 20;
T(ii,:) = randi(2,1,8);
II = II + 1;
结尾;

接受答案

图像分析
图像分析 2021年5月2日
克里斯:首先你需要创建一个列向量,列向量中有你想要的1s和2s的个数。然后你需要使用randperm()来打乱顺序并将其放入输出数组中:
num1 = 10;随你的便
num2s = 10;随你的便
%生成一个列向量,列向量中包含指定数量的1和2s。
unscramble = [ones(num1s, 1);]2 * 1
行=长度(未经用);
列= 16;随你的便
输出= 0(行,列);
%争夺并放入输出矩阵。
为了col = 1:列
排序方式= randperm(行);
输出(:,col)=未经用的(sortorder);
结尾
输出%在命令窗口查看。
5条点评
乍得格林
乍得格林 在2021年5月3日
哦,你是对的 @image分析师 。我误读,思考 解读 是一个矩阵。

登录评论。

更多答案(1)

乍得格林
乍得格林 2021年5月2日
编辑:乍得格林 2021年5月2日
这将是定义有多少条方法以及在随机化之前每列中的两台有多少转题:
N_cols = 8;%列数
n_ones = 10;每列中的%数量
n_twos = 10;每列中有% 2
m = [on(n_ones,n_cols); 2 *那些(n_twos,n_cols)];
显示亮度图像(M)
%shuffle每列的顺序:
为了k = 1: N_cols
M (:, k) = M (randperm (N_ones + N_twos), k);
结尾
显示亮度图像(M)
1条评论
克里斯基克利
克里斯基克利 2021年5月2日
哇,真正思考,谢谢很多乍得,也喜欢画图演示。

登录评论。

类别

标签

社区宝藏狩猎

找到Matlab Central中的宝藏,并发现社区如何帮助您!

开始狩猎!