你能帮我吗? 我有这个矩阵
> rout
4×5 Array{Int64,2}:
0 1 4 0 2
0 3 0 1 2
0 2 4 0 3
0 1 4 2 3
此矩阵的每一行都有一些部分。例如,第一行有两个部分。第一节包括1,4,第二节包括2,最后一行有一个1,2,3,4。我想得到一个矩阵,其中每行中的节数作为另一个矩阵(nrout[i,j]
)的值。
对于rout
之前的矩阵,可以制作以下nrout
:(nrout
的列是1,2,3,4)
> nrout
4×4 Array{Int64,2}:
1 2 0 1
2 2 1 0
0 1 2 1
1 1 1 1
代替rout
中的1个nrout
中的1个席位(第1节的编号)。而是4在nrout
中放入1(第1节的编号)。而是2在{{1}中放入2(第2节的编号)。
请您帮助我,如何在Julia中制作此矩阵?
答案 0 :(得分:1)
我将使用循环来解决此问题:
function getnrout(rout)
# assume we have at least one 0 in each row in column 1
nrout = zeros(Int, size(rout, 1), size(rout, 2) - 1)
for i in axes(rout, 1)
section = 0
for j in axes(rout, 2)
v = rout[i,j]
if v == 0
section += 1
else
nrout[i, v] = section
end
end
end
return nrout
end