假设我有一个像这样的 3 元素数组:
A = [1, 2, 3]
Run Code Online (Sandbox Code Playgroud)
我如何将其转换为:
B = [1; 2; 3]
Run Code Online (Sandbox Code Playgroud)
在朱莉娅?
transpose
创建一个Adjoint
实际拥有视图的对象
julia> A = [1, 2, 3];\n\njulia> A'\n1\xc3\x973 LinearAlgebra.Adjoint{Int64,Array{Int64,1}}:\n 1 2 3\n
Run Code Online (Sandbox Code Playgroud)\n用collect 包裹它会产生一个实际的水平向量:
\njulia> collect(A')\n1\xc3\x973 Array{Int64,2}:\n 99 2 3\n
Run Code Online (Sandbox Code Playgroud)\n然而,您需要了解,在 Julia 中,一维Vector
s 始终是垂直的,而向量也可以用二维矩阵表示,其中一维等于一:
julia> B=[1 2 3]\n1\xc3\x973 Array{Int64,2}:\n 1 2 3\n\njulia> C = collect(B')\n3\xc3\x971 Array{Int64,2}:\n 1\n 2\n 3\n
Run Code Online (Sandbox Code Playgroud)\nvec
最后,每个都可以使用函数或运算符转换为标准向量[:]
:
julia> A == B[:] == C[:] == vec(B) == vec(C) == @view(C[:]) == @view(B[:])\ntrue\n
Run Code Online (Sandbox Code Playgroud)\n