One way around this is to store data in Vector{Vector{T}} instead of 
Matrix{T}, then extend insert! to operate on each of the inner vectors. I 
have done this for a slightly more complicated type that includes a sorted 
list for indexing the inner vector and a header list for indexing the outer 
vector. The source is here 
(https://github.com/colintbowers/SortedStructures.jl), although I'm still 
tinkering with it at the moment so it should in no way be treated as stable.

The only downside is if you are performing lots of matrix operations, then 
each time you'll need to convert from Vector{Vector{T}} to Matrix{T} and 
back again. My main usage is for data-storage rather than linear algebra, 
so that problem doesn't come up much for me, whereas I find the ability to 
dynamically insert! and deleteat! incredibly useful.

Cheers,

Colin

On Saturday, 27 June 2015 00:08:34 UTC+10, paul analyst wrote:
>
> Is posible insert new row (egsisitng vector)  into array ?  wihout hcat 
> etc. ?  
> Is something like insert! in iter ?
>
> julia> a=rand(5,5)
> 5x5 Array{Float64,2}:
>  0.613346   0.864493  0.495873   0.571237   0.948809
>  0.688794   0.168175  0.732427   0.0516122  0.439683
>  0.74009    0.491623  0.0662683  0.160219   0.708842
>  0.0678776  0.601627  0.425847   0.329719   0.108245
>  0.689865   0.233258  0.171292   0.487139   0.452603
>
> julia> insert!(a,3,1,zeros(5))
> ERROR: `insert!` has no method matching insert!(::Array{Float64,2}, 
> ::Int32, ::Int32, ::Array{Float64,1})
>
> julia> insert!(a,[:,3],,zeros(5))
> ERROR: syntax: unexpected ,
>
> Paul?
>

Reply via email to