using SparseArrays
function hp_filter(y::Vector{Float64}, lambda::Float64)
n = length(y)
@assert n >= 4
diag2 = lambda*ones(n-2)
diag1 = [ -2lambda; -4lambda*ones(n-3); -2lambda ]
diag0 = [ 1+lambda; 1+5lambda; (1+6lambda)*ones(n-4); 1+5lambda; 1+lambda ]
#请问:在JL1.0版本,下面这句该如何改写呢?(查了一些资料,没整明白,非常感谢!)
D = spdiagm((diag2, diag1, diag0, diag1, diag2), (-2,-1,0,1,2))
D\y
end
问题解决。感觉老版本的写法更简洁。