如何在Julia中按行优先顺序将矩阵转换为向量?
Julia矩阵转行优先展开向量的实现
给定矩阵:
mat = [ 1 3 5 2 4 6 ]
要得到按行依次展开的向量 [1, 3, 5, 2, 4, 6],可以用以下几种简洁方法:
方法1:转置后使用vec函数
vec() 默认按列优先展开矩阵,先将原矩阵转置(让原矩阵的行变为列),再用vec即可得到目标顺序:
result = vec(mat')
执行后输出:
6-element Vector{Int64}: 1 3 5 2 4 6
方法2:垂直拼接矩阵行
利用vcat直接将矩阵的每一行垂直拼接成向量:
result = vcat(mat...)
方法3:迭代器展开元素
借助Iterators.flatten按行遍历矩阵元素,再转为向量:
using Iterators result = collect(Iterators.flatten(mat))
内容的提问来源于stack exchange,提问作者Shayan
相关产品推荐
相关产品推荐

