在Julia中向矩阵添加行?

在Julia中向矩阵添加行?,julia,Julia,如何在Julia中向矩阵添加行 比如说, mat = [1 2 3; 3 4 2] 我想在末尾添加一行x=[4 2 1]。我试过: push!(mat, x) 但是它给出了一个错误。对于矩阵的串联,您可以这样做: mat = [mat;x] 或使用函数垂直连接: vcat(mat,x) 请阅读中有关这些操作的详细信息。需要创建新阵列,但效率非常低!因为使用了这个函数 julia> @which [mat;x] vcat(A::Union{Array{T,1}, ... Julia

如何在Julia中向矩阵添加行

比如说,

mat = [1 2 3; 3 4 2]
我想在末尾添加一行
x=[4 2 1]
。我试过:

push!(mat, x)

但是它给出了一个错误。

对于矩阵的串联,您可以这样做:

mat = [mat;x]
或使用函数垂直连接:

vcat(mat,x)
请阅读中有关这些操作的详细信息。

需要创建新阵列,但效率非常低!因为使用了这个函数

julia> @which [mat;x]
vcat(A::Union{Array{T,1}, ...

Julia中的多维数组按列主顺序存储。一个很好的讨论是

如何在函数内部执行此操作?也就是说,一个将
mat
作为参数的函数,它应该修改
mat
(因为,
mat=[mat;x]
不会在函数外部传播),也许返回新矩阵并分配外部函数是一种好的形式,因为它还可以公开更改,而不是将更改隐藏在副作用中。