我正在研究一个问题,我必须生成一个包含上限和下限的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中有没有办法做到这一点?
非常感谢,
答案 0 :(得分:0)
' 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))));