【问题标题】:Matlab - the probability of five design variablesMatlab - 五个设计变量的概率
【发布时间】:2017-07-18 03:30:26
【问题描述】:

我正在解决一个问题,我必须生成一个 32 行 x 5 列的矩阵,该矩阵包含 5 个具有上限和下限的设计变量。设计变量如下:

下限上限

0.51≤x1≤0.59

0.5≤x2≤0.65

0.05≤x3≤0.15

0.05≤x4≤0.20

0.02≤x5≤0.15

这些变量的概率是 32。我想用这些数字的组合生成一个 32x5

Matlab 有什么办法吗?

非常感谢,

【问题讨论】:

  • 你有什么matlab版本?

标签: matlab


【解决方案1】:

“rand”函数将生成 0 到 1 之间的统一随机数。想法是缩放这些值以适应您的限制:

N=32;
LowerBound=[.51, .50, .05, .05, .02];
UpperBound=[.59, .65, .15, .20, .15];
Scale=(UpperBound-LowerBound);
%for newer matlab versions with auto expansion
M=LowerBound+Scale.*rand(N,length(Scale))
%for older versions
% M=bsxfun(@plus,LowerBound,bsxfun(@times,Scale,rand(N,length(Scale))));

【讨论】:

  • 非常感谢 Mendi 的回复。事实上,我想保留这些数字并使用它们来生成一个 32x5 矩阵。下限和上限是设计变量。我想进行组合并生成这些数字的矩阵。
  • 这不清楚你想要什么。写一个输出的例子
  • 我想根据上下界生成随机数。在这种情况下,我们需要使用概率来了解组合。例如,0.05 0.02 0.51 0.05 0.51 第二次的数字可能是 0.2 0.02 0.51 0.05 0.51 等等。换句话说,所有元素的组合(上下)。
  • 您好像在问如何从 10 个元素中随机选取 5 个元素。我不明白 Upper 和 Lower 的定义与矩阵的生成有什么关系。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-26
  • 1970-01-01
  • 2017-05-22
  • 2017-06-05
  • 2018-08-29
  • 1970-01-01
相关资源
最近更新 更多