Julia:创建(1,n)数组的简短语法

时间:2017-08-04 17:13:43

标签: julia

在Matlab中我可以写:

[0:n]

获取数组(1,n)。对于n = 2,我得到:

  0     1     2  

如何在朱莉娅做同样的事情?目的是获得相同类型的数组(1,3)。

我知道我可以写[0 1 2],但我想要一些像Matlab一样的通用。

1 个答案:

答案 0 :(得分:5)

在julia中,冒号运算符(在此上下文中,无论如何)都返回一个//client.js socket.on('connect', (data) => { console.log(data); // I want to print 'lol' here }); //server.js io.on('connect', (socket, ack) => { ack('lol'); // TypeError: ack is not a function }); 对象。这是一个可迭代的对象;这意味着您可以将它与for循环一起使用,或者您可以UnitRange其所有内容等。如果您收集其内容,您在此处获得的是Vector。

如果你所追求的是明确的 RowVector ,那么你可以收集UnitRange的内容,并相应地重新形成结果向量(在这种情况下可以通过简单的转置操作完成) )。

collect

还为UnitRange参数定义julia> collect(1:3).' 1×3 RowVector{Int64,Array{Int64,1}}: 1 2 3 转置运算符:

.'

但是,请注意结果类型的差异;如果再次应用julia> (1:3).' 1×3 RowVector{Int64,UnitRange{Int64}}: 1 2 3 ,则会再次返回UnitRange对象。

如果您不特别喜欢使用“RowVector”对象,并且想要一个简单的数组,请在Array构造函数中使用它:

.'

(以上是最新的julia 0.7 dev版本)