图像缩略图

具有固定金额的随机载体

版本1.0.0.0(8.22 kB) 罗杰斯塔福德
随机统一地生成具有指定的时间的指定的总和和值的向量。
5.0
25级

59下载

更新2006年1月24日

无执照

编辑注意:此文件是文件兑换挑选本周

这产生了值的M个随机N元素列向量[x1; x2; ......; xn],每个具有固定和固定的和s,并且受限制a <= xi <= b。载体随机均匀地分布在溶液的N-1尺寸空间中。万博 尤文图斯这是通过将该空间分解成多种不同类型的单纯x(线段的多维概括,三角形和四面体的多维概括来实现。'rand'功能用于均匀地分配每个单纯x内的向量,并进一步呼叫'rand'用于选择不同类型的单纯x,概率与它们各自的n-1维度成比例。该算法不执行任何拒绝解决方案 - 所有都是生成的,以便已经适合在规定的HyperCube内。万博 尤文图斯

引用

Roger Stafford(2020)。具有固定金额的随机载体(//www.tianjin-qmedu.com/matlabcentral/fileexchange/9700-random-vectors-with-fixed-sum),matlab中央文件exchange。检索到

评论和评级(39.

L. L. Wong

李宇新

救了我的一天

伟大的工作,谢谢。

对于生成的每个元素,我们考虑一个可能并非所有元素都相同的特定间隔时,分布将如何变化?

如何使用固定的金额选择固定的表或数组中的一些随机数?
一个例子:
数组=[1:100];
总和必须有4个不同的数字

美丽,非常感谢!

亚伦

有没有人为产品写作的函数?这样一个* b * c <一些值?

苏丹

我想生成1x15昏暗阵列v = [v1,...,v15],使得v1 + ... + v15 = 1,vi \在[0,1]中。当我运行[x,v] = randfixedsum(1,15,1,0,1)时,randfixedsum(n,m,s,a,a,b)显示错误。以下是错误:
索引超过矩阵维度。
RandFixedSum(95行)错误
x =(b-a)* x(p + repmat([0:n:n *(m-1)],n,1))+ a;%ermute&Rescale x

我需要调整此代码以生成具有固定和的随机正整数。我会欣赏任何想法。

如何使每行矩阵X的所有元素的总和为1,并且所有行元素都具有均匀的概率I.e. x矩阵如下

0.31 0.34 0.35
0.35 0.32 0.33
0.32 0.36 0.32

所以所有行都有总和1.如何做到

感谢约翰真正为社区制定令人难以置信的职能。我有这么多的用途,它会让我多久制作一天,而且我怀疑我可以像你设法在这里做的那样保持统一。

美丽的。

意志

效果完美。

亲爱的约翰,谢谢你对我看来的评论。然而,我的意见与胡安仍然是一样的。如果要生成具有固定和的随机向量,则随机出来算法的每个载体都有不同的选择概率。是的,只要您不在乎检查从算法中的每个矢量的概率,此文件似乎正常工作。谢谢胡安。你有我的观点。顺便说一下,在不使用估计的情况下无法解决这个问题。此问题只能通过域的离散化来解决并找到所有可能的解决方案,并为每个可能的解决方案定义单个值,然后如果您偶然选择一个概率与任何其他解决方案相同(矢量)。万博 尤文图斯但是,这是一个愚蠢的解决方案(时间和成本)。同样,这取决于你的目的。 If you just want to produce some vectors with fixed summation this algorithm is a good choice for you. But if you want to use it in an optimization algorithm it is waste of time. For there are some solutions that with the confidence interval of 99.99 % you cannot produce that solution with the algorithm. In other words, if you try infinite number of times to produce them it will happen once. This is a simple and obvious probability problem. See what Juan wrote for you.

胡安

我认为这个脚本工作得不好,生成的变量的直方图是不均匀的,你可以很容易地看到大m。在另一边,如果总和非常极端(例如大总和),分布甚至是最差的。
在另一边,我认为这个问题没有解决方案,基于一个非常简单的微积分:
设X1 x2和x3是3个随机变量,与约束经过约束:x1 + x2 + x3 = 1,然后:
E(x1 + x2 + x3)= e(x1)+ e(x2)+ e(x3)= e(1)= 1
因此,作为X1,X2和X3相同和独立,结论是E(x1)= e(x2)= e(x3)= 1/3。

guillaume.

做得好!

我试图修改这段代码,以便它生成一个向量,其中包含来自beta分布的随机值。

当然,它应该仍然可以提前指定生成的向量的总和。

有什么建议?这对我来说很难。

J.E. WONG

我想问一下,如果我想产生一个高斯分布的固定和的随机数,但不限制间隔,该怎么办?
我试图放一个= -inf和b = inf,但它最终有nan。(可以是becoz s =(s-n * a)/(b-a)产生inf / Inf?)。兰特也是在高斯之后从这个算法产生的吗?很多thx!

John d'Errico.

我认为Mohammad不明白这段代码是什么。事实上,它确实正常工作,这会很好地工作。

此外,我们决不能简单地说有些东西不起作用。相反,展示你的尝试,并解释为什么你认为它不起作用。然后其他人可以看到您对代码的误解,或者他们可以看到代码中可能存在问题的原因。在本例中,我碰巧知道代码确实按照设计工作。

此功能无法正常工作。我试了几次这个文件,得到了值的直方图。随机值的概率不一样。当您试图运行优化问题时,它可能会导致严重的问题。然而,这是一份好工作!

你好
我试着用这个功能,但我开车时遇到问题。
我有一个矩阵A(193.1),我想创建一个矩阵(193.3),其总和等于我的矩阵A.
我尝试了以下代码,但我遇到了一个错误:

Rhedgefund=Y(:,1);

cols_to_generate = 3;

对于k = 1:长度(y)

neva(k,:) = randfixedsum(1 cols_to_generate,y(k),-0.15,0.15);
结尾

他告诉我:

索引超过矩阵维度。

RandFixedSum(95行)错误

x =(b-a)* x(p + repmat([0:n:n *(m-1)] n,1))+ a;%交换机和Rescale x

95 x =(b-a)* x(p + repmat([0:n:n *(m-1)] n,1))+ a;%交换机和Rescale x

我不知道如何解决问题

我试图在给定范围和总和内生成6个随机NMBR:
Xmin = [10 10 40 35 130 125];
xmax = [125 150 250 210 325 315];
pg = randfixedsum(1,6,200,Xmin,Xmax);
它给出了以下错误:
当使用==>减去错误
矩阵维度必须同意。

错误==>兰德菲克德56
s1 = s - (k:-1:k-n + 1);%S1和S2永远不会是负面的

==> Busdatas在47时出错
Qg=随机固定总和(30,1,总计(8),xmin,xmax);

可以sm1告诉wats错了..我弄清楚..

Matlab2010

优秀!做得好

Matlab2010

优秀!做得好

好的。我正在尝试在由线性不等式约束定义的单独中生成随机数据。

让我们说我已经拥有不平等定义的单纯性的n个顶点。然后纠正首先在间隔[0,1]中的随机样品,等于1,然后用顶点的矢量取出该样品的内部产品?

沿着:

x =兰特(6,2);
k = convhull(x);
绘图(x(k,1),x(k,2),'b'),坚持
nv = numel(k)-1;顶点的%nmber
x = x(k(1:端1),:);%删除重复的第一个顶点
l = randfixedsum(尺寸(x,1),1000,1,0,1);
y = l'x;
图(Y(:,1),Y(:,2),“r.”),暂停

也许我不应该相信我的愿景,但样品并不真正看起来均匀地蔓延。出于某种原因,他们似乎只为三角形做。

有什么想法吗?

谢谢

Christophe.

2U

嗨,当我尝试在一个非常大的数组上使用该函数时,它会给我带来以下错误...

??? 超出了程序允许的最大变量大小。

==> randfixedsum in 58的错误
w=零(n,n+1);w(1,2)=实最大值;%满“双精度”范围的刻度

尊敬。。。。

这正是我想要的!!!非常感谢你的伟大工作!!!

Per-AndersEkström

杰出的!

麦克·爱华士

很有用!美丽的代码!

John d'Errico.

这需要一点工作来验证一片N维超立方体的均匀性。我现在有信心罗杰已经完成了他声称的东西,检查了几个不同的维度的样本,以及通过他用于生成采样的过程来考虑他的过程。

MATLAB版本兼容性
用R10创建
与任何版本兼容
平台兼容性
窗户 苹果系统 Linux.
致谢

启发:投资组合索蒂诺比率