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])
         });
     });
 }
Esempio n. 2
0
 // Equation (2)
 public decimal GetdVdt(
     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.VaccineEfficacy.Iτ τ,
     double I,
     double S,
     double V)
 {
     return
         (ξ.Value.Value.Value * (decimal)S
          -
          (1m - τ.Value.Value.Value) * β.Value.Value.Value * (decimal)V * (decimal)I
          -
          μ.Value.Value.Value * (decimal)V);
 }
Esempio n. 3
0
 // 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);
 }
Esempio n. 4
0
 // Equation (3)
 public decimal GetdEdt(
     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.NaturalMortalityRate.Iμ μ,
     C19M.M.C.A.Gumel2006.Interfaces.Parameters.VaccineEfficacy.Iτ τ,
     double E,
     double I,
     double S,
     double V)
 {
     return
         (β.Value.Value.Value * (decimal)S * (decimal)I
          +
          (1m - τ.Value.Value.Value) * β.Value.Value.Value * (decimal)V * (decimal)I
          -
          α.Value.Value.Value * (decimal)E
          -
          μ.Value.Value.Value * (decimal)E);
 }