diff --git a/src/juobs_tools.jl b/src/juobs_tools.jl index d9353ce1f9d5d7b8600c20169da7584e6c6b4270..ffef1dba96f0e82c9a3d814e4e8660e30525342e 100644 --- a/src/juobs_tools.jl +++ b/src/juobs_tools.jl @@ -671,8 +671,10 @@ function plat_av(obs::Vector{uwreal}, plat::Vector{Int64}, wpm::Union{Dict{Int64 end plat_av(obs::Vector{uwreal}, plat::Vector{Int64}, W::Vector{Float64},wpm::Union{Dict{Int64,Vector{Float64}},Dict{String,Vector{Float64}}, Nothing}=nothing) = sum(W .* obs[plat[1]:plat[2]]) / sum(W) -plat_av(obs::Vector{uwreal}, plat::Vector{Int64}, W::Matrix{Float64},wpm::Union{Dict{Int64,Vector{Float64}},Dict{String,Vector{Float64}}, Nothing}=nothing) = sum(W[i,j]*obs[j] for i in axes(W,1) for j in axes(W,2))/sum(W) - +function plat_av(obs::Vector{uwreal}, plat::Vector{Int64}, W::Matrix{Float64},wpm::Union{Dict{Int64,Vector{Float64}},Dict{String,Vector{Float64}}, Nothing}=nothing) + o = obs[plat[1]:plat[2]] + return sum([o[i]*W[i,j]*o[j] for i in axes(W,1), j in axes(W,2)])/sum([o[i]*W[i,j] for i in axes(W,1), j in axes(W,2)]) +end function model_av(fun::Function, y::Vector{uwreal}, guess::Float64; tm::Vector{Int64}, tM::Vector{Int64}, k::Int64, wpm::Union{Dict{Int64,Vector{Float64}},Dict{String,Vector{Float64}}, Nothing}=nothing)