我使用下面的代碼來使用java.util.Random和2d數組生成0和1的矩陣。我想知道是否有方法來定義矩陣中每行發生0和1的數量的概率。我想要產生0和1的概率相等。在java中生成0和1的矩陣,同時選擇概率
我想轉換這個matlab等效代碼來生成一個矩陣到java等價物中。
G= rand(10,20)<.5
任何想法或建議嗎?
感謝, 巴維亞
我使用下面的代碼來使用java.util.Random和2d數組生成0和1的矩陣。我想知道是否有方法來定義矩陣中每行發生0和1的數量的概率。我想要產生0和1的概率相等。在java中生成0和1的矩陣,同時選擇概率
我想轉換這個matlab等效代碼來生成一個矩陣到java等價物中。
G= rand(10,20)<.5
任何想法或建議嗎?
感謝, 巴維亞
沒有使用數字填充陣列的預定義方法,但是您需要對每個元素進行填充併爲其指定編號。類似這樣的:
Random random = new Random();
for (int outerIndex = 0; outerIndex < matrix.length; outerIndex++) {
for (int innerIndex = 0; innerIndex < matrix[outerIndex].length; innerIndex++) {
if (random.nextDouble() < 0.5) {
matrix[outerIndex][innerIndex] = 1;
} else {
matrix[outerIndex][innerIndex] = 0;
}
}
}
這假定默認的隨機發生器足夠好。如果您希望1s或0s的概率更高,請調整0.5。
我想有兩種生成0和1的概率相等。
隨機不是完全隨機的,但是,對於這種使用情況下,你是不太可能發現其中的差別,如果你只是:
Random R = new Random();
int zeroOrOne = r.nextInt() % 2;
之後,您可以創建一個頻率表,看看實際分佈在無論你運行多少樣本。