matlab如何随机生成一组数的和为定值

 我来答
初秋飞697
2015-09-21 · TA获得超过158个赞
知道答主
回答量:119
采纳率:100%
帮助的人:43.4万
展开全部

实现方法:首先使用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),结果如下:

TableDI
2024-07-18 广告
Excel表格中的计数函数主要用于统计单元格区域中满足特定条件的数值或非空单元格的数量。最常用的计数函数是`COUNT`和`COUNTA`。`COUNT`函数用于统计选定区域内数值型单元格的数量,忽略文本和空单元格。而`COUNTA`函数则... 点击进入详情页
本回答由TableDI提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式