在MATLAB中生成一个随机矩阵,其值的数量相等,小于0.5,大于0.5

在MATLAB中生成一个随机矩阵,其值的数量相等,小于0.5,大于0.5,matlab,random,Matlab,Random,我想生成一个大小为n的随机矩阵,使其元素数相等,小于0.5,大于0.5。下面将创建一个矩阵,其中前半部分的数字小于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为偶数整数时才可能,因

我想生成一个大小为n的随机矩阵,使其元素数相等,小于0.5,大于0.5。下面将创建一个矩阵,其中前半部分的数字小于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
为偶数整数时才可能,因为偶数整数的一半也是整数,而奇数整数的一半永远不可能是整数

以下内容将创建一个矩阵,其中前半部分数字小于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
为偶数整数时才可能,因为偶数整数的一半也是整数,而奇数整数的一半永远不可能是整数

只需在[0,0.5]中生成n^2/2个数字,[0.5,1]中生成n^2/2个数字。将整个集合洗牌,并以任何模式填充矩阵(行、列;无所谓)。只需在[0,0.5]中生成n^2/2个数字,[0.5,1]中生成n^2/2个数字。将整个集合洗牌,并以任何模式填充矩阵(行、列;无所谓)。