Skip to content

Instantly share code, notes, and snippets.

View devmotion's full-sized avatar
🦖

David Widmann devmotion

🦖
View GitHub Profile
@devmotion
devmotion / examples.jl
Last active December 19, 2019 22:42
ESS examples
using Turing
using StatsPlots
using Random
using Statistics
function demo(N::Int; n::Int = 10)
# observation noise
σ² = 0.3
@devmotion
devmotion / demo.jl
Last active November 24, 2019 17:05
Elliptical slice sampling
using Turing
using StatsPlots
using Random
using Statistics
function demo(N::Int; n::Int = 10)
# observation noise
σ² = 0.3
@devmotion
devmotion / blackboxoptim.jl
Last active July 31, 2019 00:42
DDE parameter estimation
using DelayDiffEq, DiffEqParamEstim, BlackBoxOptim, DataFrames, LsqFit
using Plots
gr()
include("importData.jl")
include("plot.jl")
# import data from the path, in which:
# pop: population data
# g1, g2: g1 and g2 data
@devmotion
devmotion / benchmark.jl
Created August 5, 2018 14:29
Interpolation benchmarks
using MuladdMacro, EllipsisNotation, BenchmarkTools
# In place
@generated function f_loop!(out, dt, y, k, b, idxs::Nothing, ::Type{Val{N}}) where N
sumexpr = :(+($((:(k[$i][idx]*b[$i]) for i in 1:N)...)))
quote
@muladd @inbounds for idx in eachindex(out)
out[idx] = y[idx] + dt*$sumexpr
end
@devmotion
devmotion / typemacros.jl
Last active August 2, 2018 23:49
Julia macros
using MacroTools: namify
using Base.Meta: isexpr
## Utilities
# Split struct definition (neglecting constructors)
function splitstruct(structdef)
# Split type definition
isexpr(structdef, :struct, 3) || error("Not a type definition:", structdef)