更新数组的特定列

时间:2019-05-07 12:21:02

标签: julia

以下代码完成了我需要做的事情,但是由于我在将来的代码中必然要承担相同的任务,因此我想知道实现结果的最佳方法是什么:

p_last = fill(NaN, (n,periods-1)) 
p_first = ones(n) * 0.5
p = hcat(p_first,p_last)

1 个答案:

答案 0 :(得分:2)

有很多类似的方法:

p = fill(NaN, n, periods)
p[:, 1] .= 0.5

p = [j == 1 ? 0.5 : NaN for i in 1:n, j in 1:periods]

或类似地:

p = [ifelse(j == 1, 0.5, NaN) for i in 1:n, j in 1:periods]

它们所有的优点是它们只分配一个矩阵。第一个要快一些,但是需要两个语句。