julia中是否有将2D数组转换为1D数组的函数?例如,我知道如何通过定义函数来实现该功能,但是我不想每次都编写它。
function flatten(Mat)
n, m = size(Mat)
flattened = zeros(m*n)
for i=1:n
for j=1:m
flattened[(i-1)*m + j] = Mat[i,j]
end
end
return flattened
end
Run Code Online (Sandbox Code Playgroud)
您可以使用vec(https://docs.julialang.org/en/v1/base/arrays/#Base.vec):
julia> A = rand(2, 2)
2×2 Array{Float64,2}:
0.843062 0.164179
0.167501 0.800111
julia> vec(A)
4-element Array{Float64,1}:
0.8430624537022231
0.16750120450998196
0.16417911360611237
0.8001111380491013
Run Code Online (Sandbox Code Playgroud)