我正在寻找一种方法来快速创建A具有以下属性的随机矩阵:
A = transpose(A)A(i,i) = 0 对于所有我A(i,j) >= 0 对于所有我,jsum(A) =~ degree; 行的总和由我想指定的分布随机分布(这里=~表示近似相等).具体来说,分布degree来自矩阵orig,degree=sum(orig)因此我知道存在具有此分布的矩阵.
例如: orig=[0 12 7 5; 12 0 1 9; 7 1 0 3; 5 9 3 0]
orig =
0 12 7 5
12 0 1 9
7 1 0 3
5 9 3 0
sum(orig)=[24 22 11 17];
Run Code Online (Sandbox Code Playgroud)
现在一个可能的矩阵A=[0 11 5 8, 11 0 4 7, 5 4 0 2, …