如何提取矩阵中某行并使该行保留矩阵格式?

比如一个4X4的矩阵,提取单行后总是会自动转为向量,有时候很不方便,希望能直接保留1*4的矩阵格式。目前想到的方法是用reshape(a[1,:], 1, :)转一下,但感觉太不简洁了,有没有更干净的写法?

 a = zeros(4,4)
4×4 Matrix{Float64}:
 0.0  0.0  0.0  0.0
 0.0  0.0  0.0  0.0
 0.0  0.0  0.0  0.0
 0.0  0.0  0.0  0.0
b = a[1,:]
4-element Vector{Float64}:
 0.0
 0.0
 0.0
 0.0
b = reshape(a[1,:], 1, :)
1×4 Matrix{Float64}:
 0.0  0.0  0.0  0.0

转置下,

julia> b=a[1,:]'
1×4 adjoint(::Vector{Float64}) with eltype Float64:
0.0  0.0  0.0  0.0

保留Matrix类型,不想要adjoint matrix。

julia> a[1:1, :]
1×4 Matrix{Float64}:
 0.0  0.0  0.0  0.0
1 个赞
julia> a[[1], :]
1×4 Matrix{Float64}:
 0.0  0.0  0.0  0.0
2 个赞

给力够简单没想到。。。

我也正好遇到这个问题,苦思许久,终于看到了这个回答 :smiling_face_with_tear: