在给定长度的数组上传播给定值

问题描述 投票:-1回答:1

我有一个number 27.50。我想将它传播到一个数组Result,其大小为2000.数组Result中27.50的分布应从1开始,到27.50结束。

number = 27.50;
Size = 2000;
Result = zeros(Size ,1);

我希望它以这样的方式分发它:当我做cumsumResult时,最终指数应该是27.50,当我做sumResult时,它应该等于27.50。

预期结果:

tmp = cumsum(Result)
tmp(end) == 27.50 

sum(Result) == 27.50

题:

有没有可行的办法呢?如果是,请建议我应该使用哪种方法*

arrays matlab matrix
1个回答
2
投票

我想你可以通过很多方式做到这一点。

正如@ rahnema1所提到的,你可以使用统一分布:

repmat(number/Size ,Size ,1)

或者你也可以使用高斯:

normcdf(0:Size,1000,100) %choose the parameters yo want

或者您想要的任何其他发行版。

关键点在于,您必须将分配规范化,使其下的总和等于您想要的值:27.50

© www.soinside.com 2019 - 2024. All rights reserved.