That is a good catch Kevin, thanks! 2016-01-18 12:53 GMT-08:00 Kevin Squire <[email protected]>:
> As long as each row has a fixed, known size, you could do > > a = [] > for i=1:n > append!(a, [1,2,3]) > end > A = reshape(a, 3, n) > > The 1-D array grows as needed, and reshape still points to the original > data, so no copying is done. > > Cheers, > Kevin > > On Mon, Jan 18, 2016 at 12:48 PM, Júlio Hoffimann < > [email protected]> wrote: > >> Yes, I will rely on the classical hcat() approach... >> >> A = [] >> for i=1:n >> push!(A, [1,2,3]) >> end >> A = hcat(A...) >> >> Thank you. >> >> 2016-01-18 11:42 GMT-08:00 Júlio Hoffimann <[email protected]>: >> >>> Hi, >>> >>> Suppose I want to fill the columns of a matrix which size I don't know >>> beforehand: >>> >>> A = zeros(3,0) >>> for i=1:n >>> A = [A [1,2,3]] >>> end >>> >>> Is there a memory efficient way of doing that in Julia? >>> >>> I understand that the above syntax is allocating 3*i entries at >>> iteration i which gives 3*(1+2+...+n) = 3*(n+1)n/2 allocations as opposed >>> to 3n. >>> >>> -Júlio >>> >> >> >
