private Func <double, MathNet.Numerics.LinearAlgebra.Vector <double>, MathNet.Numerics.LinearAlgebra.Vector <double> > f( C19M.M.C.A.Gumel2006.Interfaces.Parameters.DiseaseInducedMortalityRate.Id d, C19M.M.C.A.Gumel2006.Interfaces.Parameters.DevelopmentClinicalSymptomsRate.Iα α, C19M.M.C.A.Gumel2006.Interfaces.Parameters.EffectiveContactRate.Iβ β, C19M.M.C.A.Gumel2006.Interfaces.Parameters.RecoveryRate.Iδ δ, C19M.M.C.A.Gumel2006.Interfaces.Parameters.NaturalMortalityRate.Iμ μ, C19M.M.C.A.Gumel2006.Interfaces.Parameters.VaccinationCoverageRate.Iξ ξ, C19M.M.C.A.Gumel2006.Interfaces.Parameters.RecruitmentRateSusceptibleHumans.IΠ Π, C19M.M.C.A.Gumel2006.Interfaces.Parameters.VaccineEfficacy.Iτ τ, C19M.M.C.A.Gumel2006.Interfaces.Variables.LatentIndividuals.IE E, C19M.M.C.A.Gumel2006.Interfaces.Variables.InfectedIndividuals.II I, C19M.M.C.A.Gumel2006.Interfaces.Variables.TreatedIndividuals.IR R, C19M.M.C.A.Gumel2006.Interfaces.Variables.SusceptibleIndividuals.IS S, C19M.M.C.A.Gumel2006.Interfaces.Variables.VaccinatedIndividuals.IV V) { return((T, x) => { return MathNet.Numerics.LinearAlgebra.Vector <double> .Build.Dense(new[] { (double)E.GetdEdt( α, β, μ, τ, E: x[0], I: x[1], S: x[3], V: x[4]), (double)I.GetdIdt( d, α, δ, μ, E: x[0], I: x[1]), (double)R.GetdRdt( δ, μ, I: x[1], R: x[2]), (double)S.GetdSdt( β, μ, ξ, Π, I: x[1], S: x[3]), (double)V.GetdVdt( β, μ, ξ, τ, I: x[1], S: x[3], V: x[4]) }); }); }
// Equation (1) public decimal GetdSdt( C19M.M.C.A.Gumel2006.Interfaces.Parameters.EffectiveContactRate.Iβ β, C19M.M.C.A.Gumel2006.Interfaces.Parameters.NaturalMortalityRate.Iμ μ, C19M.M.C.A.Gumel2006.Interfaces.Parameters.VaccinationCoverageRate.Iξ ξ, C19M.M.C.A.Gumel2006.Interfaces.Parameters.RecruitmentRateSusceptibleHumans.IΠ Π, double I, double S) { return (Π.Value.Value.Value - β.Value.Value.Value * (decimal)S * (decimal)I - ξ.Value.Value.Value * (decimal)S - μ.Value.Value.Value * (decimal)S); }