【问题标题】:Generate a random matrix in MATLAB with equal number of values less than 0.5 and greater than 0.5在 MATLAB 中生成一个具有相等数量的小于 0.5 和大于 0.5 的值的随机矩阵
【发布时间】:2016-08-01 16:52:28
【问题描述】:

我想生成一个大小为 n 的随机矩阵,使其具有相同数量的小于 0.5 和大于 0.5 的元素

【问题讨论】:

  • 只需在 [0,0.5) 中生成 n^2/2 个数字,在 [0.5,1) 中生成 n^2/2 个数字。将整个集合打乱并以任何模式填充矩阵(按行、按列;无关紧要)。

标签: matlab random


【解决方案1】:

以下将创建一个前半部分数字小于 0.5,下半部分数字大于 0.5 的矩阵:-

required= [0.5*rand(n,n/2),  0.5+rand(n,n/2)]; 

编辑:- 现在您还提到您想要随机数字,请在您的代码中添加以下内容:-

required=reshape(required(randperm(numel(required))),size(required))

还请注意,这只有在n 是偶数时才有可能,因为偶数的一半也是整数,而奇数的一半永远不可能是整数!

【讨论】:

    猜你喜欢
    • 2015-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多