以下代码完成了我需要做的事情,但是由于我在将来的代码中必然要承担相同的任务,因此我想知道实现结果的最佳方法是什么:
p_last = fill(NaN, (n,periods-1))
p_first = ones(n) * 0.5
p = hcat(p_first,p_last)
答案 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]
它们所有的优点是它们只分配一个矩阵。第一个要快一些,但是需要两个语句。