图片缩略图

randFixedLinearCombination

版本1.1.0.0 (4.95 KB)被 约翰D 'Errico
n维超矩形上的均匀随机样本,受线性等式约束

264下载

更新2020年9月11日

查看许可协议

在一个简单的和约束下,生成n维的统一随机集可以很好地由Roger Stafford的randfixedsum处理。但有时,有人想从超矩形中抽样,也就是每个维度的边界都不相同的集合。或者有人想用其他变量的线性组合进行抽样。然后randfixedsum将不够,所以我决定编写randFixedLinearCombination,它允许一个一般的超矩形,所以您可以设置任何下界和上界。你也可以提供一个一般的线性组合。实际上,如果您希望将一个变量固定为常量,只需将该变量的上下限设置为相同即可。
例如,给定目标生成1e7个由5个均匀随机变量组成的集合,在由下界和上界定义的超矩形上,如下图所示(变量4固定为3)。生成该集合只需要4秒多一点。

Lb = [-1 0 2 3 -2];
Ub = [5 5 3 3 7];
n = 1 e7;

抽搐
X = randFixedLinearCombination(n,12.5,[1 1 1 1 1],lb,ub);
toc
经过时间是4.125535秒。

min (sum (X, 2))
ans =
12.5

max (sum (X, 2))
ans =
12.5

样本均匀分布在约束平面所定义的子空间上。

我已经测试了代码,并将看看能否尽快添加一个.pdf文件来解释所使用的方案。

引用作为

约翰D 'Errico(2021)。randFixedLinearCombination(//www.tianjin-qmedu.com/matlabcentral/fileexchange/49795-randfixedlinearcombination), MATLAB中央文件交换。检索

MATLAB版本兼容性
创建R2014b
兼容任何版本
平台的兼容性
窗户 macOS Linux

社区寻宝

在MATLAB Central中找到宝藏,并发现社区可以如何帮助你!

开始狩猎!