在Julia中构造一个多维数组

时间:2013-01-01 01:17:39

标签: multidimensional-array julia

在MATLAB中,以下语法可用于创建1-d矩阵a和2-d矩阵b

a = [2,3]
b = [2,3;4,5]

在Julia中,使用相同的语法构建1-d数组a。但是,使用相同的语法构造二维数组b会失败。

按如下方式定义b

b = cat(2,[2,4],[3,5])

在Julia中是否有明确定义二维数组的语法快捷方式?如果是这样,它是什么?

4 个答案:

答案 0 :(得分:5)

你也可以说[1 2; 3 4],它给出了与Matlab相同的结果。

答案 1 :(得分:5)

你可能正在寻找这个:

a = [2,3]
b = [2 3;4 5]

以下是Julia文档中“Major Differences From MATLAB”部分的相关段落:

  

连接标量[x,y,z]的标量和数组在第一维(“垂直”)连接。对于第二维(“水平”),请使用[x y z]中的空格。要构造块矩阵(在前两个维度中连接),语法[a b; c d]用于避免混淆。

答案 2 :(得分:1)

以下语法有效(但不像MATLAB等效的那样简洁):

b = [[2 3],[4 5]]

答案 3 :(得分:0)

Julia 0.6 根据您寻求的维度,您可以使用

# hcat
b = [[2, 3] [4, 5]]
2×2 Array{Int64,2}: [2 4; 3 5]

# vcat
c = [[2 3] ; [4 5]]
2×2 Array{Int64,2}: [2 3; 4 5]