I think you want push!
not append!
, but note that result = Array{Array{Float32,2},1}
is a type, result = Array{Array{Float32,2},1}()
is an empty vector (although still has different eltype).
But you can also do this:
[matrix[:, i:min(i+batchsize-1,size(matrix,2))] for i in 1:batchsize:size(matrix,2)]
or this
map(Iterators.partition(axes(matrix,2), batchsize)) do cols
matrix[:, cols]
end