图像缩略图

随机向量与固定金额

版本1.0.0.0(8.22 KB)由 罗杰·斯塔福德
随机和均匀地产生与在指定的时间间隔指定的总和和值向量。
5
25级

60次下载

更新2006年01月24日

无许可证

编者按:这个文件是一个文件交换本周的挑选

这产生值的m个随机n元素的列向量,[X 1,X 2; ...; XN],每一个固定金额,s和受限制的<= XI <= B。载体是随机和均匀地分布在溶液中的n-1个维空间。万博 尤文图斯这是通过分解该空间为多个不同类型的单形的完成(线段,三角形和四面体的许多维概括。)的“兰特”功能用于均匀地各单工内分发的载体,并在进一步的调用“兰特”用于选择不同类型的单形的带概率正比于它们各自的N-1维卷。这种算法不执行任何排斥的解决方案 - 所有的生成,以适应已经在规定超立方体内。万博 尤文图斯

引用作为

罗杰·斯塔福德(2020)。随机向量与固定金额(//www.tianjin-qmedu.com/matlabcentral/fileexchange/9700-random-vectors-with-fixed-sum),MATLAB中央文件交换。检索

评论和评级(39

L. L.黄

李宇新

救了我的一天

马克Kondrla

伊Imanuel

伟大的作品,谢谢。

当对每个生成的元素考虑一个可能不完全相同的特定间隔时,分布将如何变化?

尼古拉·汉森

如何挑选一个固定的表或数组一些随机数与固定金额?
一个例子:
数组=[1:100];
总和必须是42 5张不同的数

美丽,非常感谢你!

亚伦

有没有人写这样的功能的产品?使得A * B * C <一些值?

苏丹

我想生成1×15维数组V = [V 1,...,V15]使得V1 + ... + V15 = 1,VI \在[0,1]。函数randfixedsum(N,M,S,A,B)是示出当我运行错误[X,V] = randfixedsum(1,15,1,0,1)。以下是错误:
指数超过矩阵尺寸。
误差在randfixedsum(线95)
X =(B-A)* X(P + repmat([0:N:N *(M-1)]中,n,1))+ A;%置换&重新调整X

塔罗13

我需要适应这个代码来生成具有固定和随机正整数。我欢迎任何想法。

如何使矩阵的各行的所有元素的总和x是1和所有行元件具有均匀的概率即,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.

胡安

我觉得这个脚本不好用,生成的变量的直方图不一致,你可以很容易地看到,在另一边,如果和是非常极端的(例如大和),分布甚至是最坏的。
在另一边,我觉得这个问题有没有解决方案基于一个非常简单的微积分:
让X1 X2和X3是3个随机变量与U [0 1]进行约束分布:X1 + X2 + X3 = 1,则:
E(X1 + X2 + X3)= E(X1)+ E(×2)+ E(×3)= E(1)= 1
所以,为x1,x2和x3是相同和独立的,所以结论是,E(X1)= E(×2)= E(×3)= 1/3进行。

纪尧姆

做得好!

我正在尝试调整这个代码,以便它从beta分布中生成一个带有随机值的向量。

它应,当然,仍能够事先指定生成的矢量的总和。

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

J.E.皇

我可以问一下,如果我想产生一个固定和服从高斯分布,但对间隔没有限制的随机数吗?
我试图把一个= -INF和b = INF但它与NaN的结束。(可以是becoz S =(S-N * A)/(B-A)产生INF / INF?)。从该算法以下高斯也产生兰特?许多THX!

约翰D'ERRICO

我认为穆罕默德并不了解这个代码的作用。事实上,它确实能正常工作,并且它是工作干得很出色,高效。

此外,人们永远不应该简单地说某件事不起作用。相反,展示你的尝试,并解释为什么你认为它不起作用。然后其他人可以看到您对代码的误解,或者他们可以看到代码中可能存在问题的原因。在这种情况下,我碰巧知道代码确实按设计工作。

穆罕默德

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

瓦希拉德

你好
我尝试使用功能,但我有一个问题,当我驾驶。
我有一个矩阵A(193.1),我想创建一个矩阵(193.3),其总和等于一行到我​​的矩阵A.
我试着下面的代码,但我遇到了一个错误:

Rhedgefund=Y(:,1);

cols_to_generate = 3;

对于K = 1:长度(Y)

涅瓦河(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;%开关与重新调整X

95,X =(B-A)* X(P + repmat([0:N:N *(M-1)] n的,1))+ A;%开关与重新调整X

我不知道如何解决问题

我试图在给定的范围和总和内生成6个随机NMBR:
XMIN = [10 10 40 35 130 125]。
XMAX = [125 150 250 210 325 315]。
PG = randfixedsum(1,6,200,XMIN,XMAX);
出现以下错误:
??使用==错误>减
矩阵尺寸必须一致。

误差在==> randfixedsum在56
S1 = S - (K:-1:K-N + 1);%S1&S2将永远不会是负的

误差在==>在47 busdatas
Qg=随机固定和(30,1,总计(8),xmin,xmax);

可以SM1告诉WATS wrong..i CNT数字出来..

Matlab2010

优秀的!做得好

Matlab2010

优秀的!做得好

尼斯。我试图通过产生线性不等式约束定义的单内的随机数据。

可以说,我已经由不等式定义的单纯的N个顶点。是它然后正确首先生成在区间[0,1]与总和的随机样品等于1,然后取该样品的内积与顶点的矢量?

沿着线的东西:

X =兰特(6,2);
K = convhull(X);
积(X(K,1),X(K,2), 'B'),保持上
NV = numel(K)-1;顶点%Nmuber
X = X(K(1:结束-1),:);%删除重复第一顶点
L = randfixedsum(大小(X,1),1000,1,0,1);
Y = L'* X;
绘图(Y(:,1),Y(:,2),'r',暂停

也许我不应该相信这个我的视野,但样品不那么看单纯内均匀扩散。出于某种原因,他们似乎只为一个三角形的事情。

有什么想法吗?

谢谢

克里斯托夫

伴侣2U

嗨,当我尝试使用功能一个非常大的一个阵列上它给了我下面的错误...

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

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

尊敬。。。。

弗洛里安

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

每安德斯·埃克斯特罗姆

杰出的!

麦克·爱华士

很有用!漂亮的代码!

约翰D'ERRICO

这花了一些工作来验证均匀性的n维超立方体的一个切片。我现在相信罗杰做了什么,他声称,其抽样检查在几个不同的层面,以及通过他用来产生采样过程已经想。

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

启发:投资组合比率