matlab产生随机整数,和为定值.为什么最后生成的一组数四舍五入之后和比定值小了一个?
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/10/03 17:14:25
matlab产生随机整数,和为定值.为什么最后生成的一组数四舍五入之后和比定值小了一个?
我要产生10个整数且和为2000000,按下面方法生成之后最后对nev求和却是1999999.怎么才能得到和为2000000的10整数呢?
M=2000000; % 最后总和
i=rand(1,10); % 10组数和为2000000
j=M*i/(sum(i));
nev=round(j); % 取整
请高手指点,不胜感激~
我要产生10个整数且和为2000000,按下面方法生成之后最后对nev求和却是1999999.怎么才能得到和为2000000的10整数呢?
M=2000000; % 最后总和
i=rand(1,10); % 10组数和为2000000
j=M*i/(sum(i));
nev=round(j); % 取整
请高手指点,不胜感激~
首先你的代码变得不错,只需在上面改一点即可.代码如下:
M=2000000; % 最后总和
i=rand(1,10); % 10组数和为2000000
j=M*i/(sum(i));
nev=round(j); % 取整
nev(10) = 2000000-sum(nev(1:9));
如你所知,10个数之和为2000000,其实自由度为9,所以当你确定了,其他9个数时,这10个数实际上是已确定的.所以我这里直接令最后一个为2000000-其他9个的和.
有什么问题请毫不犹豫追问我~
再问: 想想您请教我在百度问的另一个问题 对矩阵Nnev赋值 Nnev=zeros(100,24); i=1;j=1;k=1; while k
M=2000000; % 最后总和
i=rand(1,10); % 10组数和为2000000
j=M*i/(sum(i));
nev=round(j); % 取整
nev(10) = 2000000-sum(nev(1:9));
如你所知,10个数之和为2000000,其实自由度为9,所以当你确定了,其他9个数时,这10个数实际上是已确定的.所以我这里直接令最后一个为2000000-其他9个的和.
有什么问题请毫不犹豫追问我~
再问: 想想您请教我在百度问的另一个问题 对矩阵Nnev赋值 Nnev=zeros(100,24); i=1;j=1;k=1; while k
matlab产生随机整数,和为定值.为什么最后生成的一组数四舍五入之后和比定值小了一个?
matlab随机生成某范围内的一组整数且和为定值?
在MATLAB中如何随机产生一个由0和1两个数组成的长度为N的随机序列
matlab中怎么随机生成一个M*N矩阵,使每列和为一固定值,每个元素为整数?
怎样用matlab产生一组和为1的随机数?
excel中怎样随机生成35到40的一组整数,我用=RAND()*(38-32)+32生成一个这样的数,然后拉出来一组.
Matlab随机生成m*n矩阵,矩阵的元素均为非负整数,要求矩阵的每行和小于80,每列和大于150.求指教.
用matlab求一组数的最简整数比
谁能帮我用c++生成一个随机矩阵,这个程序产生的矩阵的数都是整数[0,100].而且要大约70-80%为0
MATLAB在[0,8]间随机产生服从期望为8,方差为1的正态分布的随机整数,一次产生一个随机数.
MATLAB:随机生成数
matlab怎样随机产生一个6个元素向量,并使其内的元素线性和为1