我们知道,MATLAB的数组,除cell和struct外,都只能存放同类型的元素,但是,JULIA的ARRAY却大不同。比如:
一、Array{Any,2}:表示任何形式的二维数组,不特定类型
julia的数组可以是不同的类型(Any的某种类型),这种便于形成array,输出到csv.
julia> csvFlow1 =["openDate" "openPrice" "closeDate""closePrice" "type"]
1x5 Array{ASCIIString,2}:
"openDate" "openPrice" "closeDate" "closePrice" "type"
julia> csvFlow2=["2014-1-4" 5.0 "2014-1-5" 5.1 "short" ]
1x5 Array{Any,2}:
"2014-1-4" 5.0 "2014-1-5" 5.1 "short"
进行合并操作,需要指明的是,这种操作效率比较低,而MATLAB往往是进行这类操作的。
julia> result=vcat(csvFlow1,csvFlow2)
2x5 Array{Any,2}:
"openDate" "openPrice" "closeDate" "closePrice" "type"
"2014-1-4" 5.0 "2014-1-5" 5.1 "short"
说明:MATLAB中有dataset()类,和JULIA此类相似,具体请看MATLAB 的HELP! 有空我也会写关于dataset()的操作。因为我MATLAB的策略研究的数据结构基于本是用dataset(). 同样,这类操作效率极低,是影响我策略运行速度 的最大推手。所以,一般此类操作,JULIA会用Push! 而不是cat!.
二、特定类型的数组
# 加了[]表示:是一个数组
julia> tes =Array{Float64,1}[] # 其元素是Array{Float64,1}
0-elementArray{Array{Float64,1},1}
julia> tes =Array{Float64,1} # 其元素是:Float64
Array{Float64,1}
可见,ARRAY的大不同!