语言 Julia: 转换 vector in matrix

Language Julia: convert vector in matrix

提问人:SwFly 提问时间:6/13/2022 更新时间:6/13/2022 访问量:437

问:

谁能帮忙。

要将向量转换为一维矩阵,只需在 Julia 中运行:

a = copy(permutedims([1,2,3]))

要将矩阵“a”转换为向量,只需使用:

b = copy(vec(a))

如果你有一个矩阵“[1 2 3;4 5 6]“将其转换为向量,只需:

c = vec([1 2 3; 4 5 6])

现在如何使向量具有 2x3 矩阵的形式,如下所示:

2×3 Matrix{Int64}:
 1  2  3
 4  5  6
矩阵 矢量 复制 Julia Vec

评论


答:

3赞 Picaud Vincent 6/13/2022 #1

您可以使用 reshape

julia> c = vec([1 2 3; 4 5 6])
6-element Vector{Int64}:
 1
 4
 2
 5
 3
 6

julia> M=reshape(c,2,3)
2×3 Matrix{Int64}:
 1  2  3
 4  5  6

请注意,此操作不会重新分配内存,而是共享相同的内存。举个例子:cM

julia> c[1]=10
10

julia> M
2×3 Matrix{Int64}:
 10  2  3
  4  5  6

评论

0赞 SwFly 6/13/2022
谢谢,皮考德·维森特。