-2
probability_matrix(3)
return == >
[0.2; 0.5; 0.3]
[0.2; 0.3; 0.5]
[0.6; 0.2; 0.2]
的行和列的元素之和必須等於一個
probability_matrix(3)
return == >
[0.2; 0.5; 0.3]
[0.2; 0.3; 0.5]
[0.6; 0.2; 0.2]
的行和列的元素之和必須等於一個
我的壞鱈魚:
function generationMatrix(number) {
var coefficient = 1/number;
var indexMass = Array(number);
var matrix = Array(number);
// Create an array with uniformly distributed mean values
for (var i = 0; i < number; i++) {
indexMass[i] = i;
var row = Array(number);
for (var j = 0; j < number; j++) {
row[j] = getRandom(coefficient/2, coefficient);
}
matrix[i] = row;
}
// In (number-1) lines, we change the random element to such that the sum of the elements in the (row) is equl 1
for (var i = 0; i < number - 1; i++) {
var rand_index = indexMass.splice((Math.floor(Math.random() * indexMass.length)), 1);
matrix[i].splice(rand_index, 1);
var newElem = 1 - matrix[i].reduce((a, b) => a + b, 0);
matrix[i].splice(rand_index, 0, newElem);
}
// TReplace the remaining (row) with a (row) such that the sum of the elements in the columns is equl 1
for (var i = 0; i < number; i++) {
var sum = 0;
for (var j = 0; j < number; j++) {
if (j != indexMass[0])
sum += matrix[i][j];
}
matrix[indexMass[0]][i] = 1 - sum;
}
return matrix;
}
你面臨什麼困難?你有嘗試過什麼嗎? – FirstOne
行和列中元素的總和必須等於1 –
@TerenikDmitry你想要負數嗎? –