问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

matlab中如何产生N个随机数,和为定值M

发布网友 发布时间:2022-05-03 10:16

我来回答

3个回答

热心网友 时间:2022-06-18 22:46

实现方法:首先使用rand()函数生成N个随机数,假设此时N个随机数的和是S,那么将每个随机数变为原来的M/S倍,这样就实现N个随机数的和是定值M的效果了。关键代码如下:
A
=
rand(1,N);
S
=
sum(A);
B
=
A*M/S;
下面进行实例演示和详细讲解:产生9个和为定值10的随机数。
1、打开matlab软件,在命令窗口输入:A
=
rand(1,9),表示产生9个0~1之间的随机数,输出如下:
2、继续输入:S
=
sum(A);
B
=
A*10/S
,表示将每个随机数变为到原来的10/sum(A)倍,此时的数组B即为所求。输出结果如下:
3、为了验证一下得到的数组B的和是否为定值10,在命令窗口输入:sum(B),结果如下:

热心网友 时间:2022-06-18 22:47

话说,如果这9个数之和为给定值,那就起码满足了一条方程,那就不是9个“随机数”了。如果每个随机数的大小范围都相同的话,那就不一定能满足你要求的M值了。你的问题需要再表述清楚一点。比如说,用户给定M和随机数范围,那么函数要判断是否存在这样的“随机数”列。最简单的程序是,任意生成8个随机数,用M减去这8个之和。

热心网友 时间:2022-06-18 22:47

function
[y_rand,sum_rand]=rand_(M)
coe=M/sum(randperm(9));
y_rand=randperm(9)*coe;
rand_min=min(y_rand)
rand_max=max(y_rand)
sum_rand=sum(y_rand);
说明:randperm产生1:9
9个数的随机排列,根据你要求的和数M可以确定映射系数coe,实际上最后产生的随机数的范围也可以预测,取决于你的M。
本程序的缺点是,M确定以后9个数是确定的,但排列顺序每次不一样而已,和恒为M。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
找专业防水队做完还漏水怎么维权 法院会受理房屋漏水造成的纠纷吗? 巴西龟最长活多久,家养!!! 养胃的药最好的是什么啊 婴儿积食发烧不愿吃药怎么办 板门穴位在哪个部位 手机设置放偷看的方法? 凝结水回收器生产厂家? 个人账户养老金预测公式:现有5万元,缴费20年,能领多少钱? 临沂比较有名的男装品牌 如何使用MATLAB产生指数分布的随机数 MATLAB产生任意随机数 matlab 如何生成指定分布的随机数? matlab 中怎样按概率产生随机数 如何用matlab产生一个随机数,随机数只能取-1和1 用MATLAB生成1~100的随机数 matlab产生随机数并循环 MATLAB生成随机数 matlab怎么产生10到100的随机数? 被对方好友拉黑怎样恢复 MATLAB中如何用自定义的函数生成随机数 相亲找对象和自己谈对象,哪种方式更靠谱些? 相亲找对象的六大要素 相亲男找对象要求是门当户对 相亲和处对象过程中遇到的哪些奇葩人和事? 被对方好友拉黑怎样恢复? 相亲类处对象的一般流程 你觉得通过相亲来找对象是否靠谱? 相亲第二次就让我和她处对象,有什么好的解决办法吗? 男生是该选择一个喜欢自己的女生还是去相亲找对象? 手机连接无线不小心被路由器卫士拉黑.怎么解除黑名单 360黑名单怎么取消 2007cAD安装后提示要激活,怎么做 电脑压缩视频怎么压缩最小 如何压缩视频文件到最小? 压缩视频文件到最小 一什么石崖 就是不知道QQ和微信有没有漂流瓶这个功能? 一什么石崖填空词? 手机QQ还有漂流瓶吗? 一什么石崖,如何填空? qq有漂流瓶吗? 石崖的量词是什么? 石崖是一座还是一块? 一道石崖这个量词对不对? 一什么石崖? 别人用我身份证注册支付宝可以注销吗? 一堵石崖是什么意思? 一什么石崖怎么填空? 朋友拿我的身份证注册了支付宝,该如何取消?