Julia 更新数组的特定列

Julia 更新数组的特定列,julia,Julia,以下代码完成了我需要它完成的任务,但由于我在未来的代码中肯定会有相同的任务,我想知道实现结果的最佳方法是什么: p_last = fill(NaN, (n,periods-1)) p_first = ones(n) * 0.5 p = hcat(p_first,p_last) 有很多方法,例如: p = fill(NaN, n, periods) p[:, 1] .= 0.5 或 或类似地: p = [ifelse(j == 1, 0.5, NaN) for i in 1:n, j in

以下代码完成了我需要它完成的任务,但由于我在未来的代码中肯定会有相同的任务,我想知道实现结果的最佳方法是什么:

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

有很多方法,例如:

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

或类似地:

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

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

重复我之前的帖子,
ones(n)*0.5
不是创建数字0.5的向量的好方法。改用
填充(0.5,n)
p = [ifelse(j == 1, 0.5, NaN) for i in 1:n, j in 1:periods]