julia - 在 Julia 中将水平数组转换为垂直数组
问题描述
假设我有一个像这样的 3 元素数组:
A = [1, 2, 3]
我怎样才能将其转换为:
B = [1; 2; 3]
在朱莉娅?
解决方案
transpose
创建一个Adjoint
实际持有视图的对象
julia> A = [1, 2, 3];
julia> A'
1×3 LinearAlgebra.Adjoint{Int64,Array{Int64,1}}:
1 2 3
用 collect 包裹它会产生一个实际的水平向量:
julia> collect(A')
1×3 Array{Int64,2}:
99 2 3
但是,您需要了解,在 Julia 中,一维Vector
s 始终是垂直的,而向量也可以由一维等于一的二维矩阵表示:
julia> B=[1 2 3]
1×3 Array{Int64,2}:
1 2 3
julia> C = collect(B')
3×1 Array{Int64,2}:
1
2
3
vec
最后,可以使用函数或运算符将它们中的每一个转换为标准向量[:]
:
julia> A == B[:] == C[:] == vec(B) == vec(C) == @view(C[:]) == @view(B[:])
true
推荐阅读
- kentico - 媒体库子文件夹 Kentico 11
- ansible - Creating a comma separated string from a dictionary in Ansible
- java - Using GraalVM to run Java on Heroku
- angular - Ionic background Image not Showing?
- javascript - 在 vue 数据中移动数组中的元素不会触发计算元素的重新计算
- spring-boot - 使用 rpc 连接到 cordapp 时出现错误 404
- c# - Azure Blob 上传在 ASP .Net Core 应用程序中不起作用
- javascript - Disabling caching in a built SPA
- c# - 使用多个键和一个值时最好的结构是什么?
- javascript - 从具有相同类名的多个表格单元格中读取文本