2017-07-18 79 views
0

我正在處理一個問題,我必須生成一個32行x 5列的5個設計變量的上下界矩陣。設計變量如下:Matlab - 五個設計變量的概率

下界上界

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我要生成這些號碼

有沒有辦法做到這一點在Matlab的組合32x5?

提前許多感謝,

+0

什麼MATLAB版本你有? –

回答

0

的「蘭特」功能會產生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)))); 
+0

非常感謝門迪的回覆。實際上,我想保留這些數字並使用它們來生成一個32x5矩陣。下限和上限是設計變量。我想組合並生成這些數字的矩陣。 – user3780018

+0

這並不清楚你想要什麼。編寫一個輸出示例 –

+0

我想根據下限和上限生成隨機數。在這種情況下,我們需要使用概率來了解組合。例如,0.05 0.02 \t 0.51 \t 0.05 \t 0.51第二次數字可以是0.2 \t 0.02 \t 0.51 \t 0.05 \t 0.51等等。換句話說,元素的所有組合(上和下)。 – user3780018