private Func <double, MathNet.Numerics.LinearAlgebra.Vector <double>, MathNet.Numerics.LinearAlgebra.Vector <double> > f( C19M.M.C.A.Gumel2006.Interfaces.Parameters.Rescaled.IN N, C19M.M.C.A.Gumel2006.Interfaces.Parameters.Rescaled.Ip p, C19M.M.C.A.Gumel2006.Interfaces.Parameters.Rescaled.Iβ β, C19M.M.C.A.Gumel2006.Interfaces.Parameters.Rescaled.Iγ γ, C19M.M.C.A.Gumel2006.Interfaces.Parameters.RecoveryRate.Iδ δ, C19M.M.C.A.Gumel2006.Interfaces.Parameters.Rescaled.Iε ε, C19M.M.C.A.Gumel2006.Interfaces.Parameters.NaturalMortalityRate.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( γ, ε, E: x[0], I: x[1]), (double)R.GetdRdt( δ, μ, I: x[1], R: x[2]), (double)S.GetdSdt( N, p, β, ε, I: x[1], S: x[3]), (double)V.GetdVdt( p, β, τ, ε, I: x[1], S: x[3], V: x[4]) }); }); }
public decimal GetdSdt( C19M.M.C.A.Gumel2006.Interfaces.Parameters.Rescaled.IN N, C19M.M.C.A.Gumel2006.Interfaces.Parameters.Rescaled.Ip p, C19M.M.C.A.Gumel2006.Interfaces.Parameters.Rescaled.Iβ β, C19M.M.C.A.Gumel2006.Interfaces.Parameters.Rescaled.Iε ε, double I, double S) { return (-β.Value.Value.Value * (decimal)S * (decimal)I + ε.Value.Value.Value * (N.Value.Value.Value - ((decimal)S / (1m - p.Value.Value.Value)))); }