public void UpdateDistributionBasedOn(IEnumerable <ParameterDistributionMetaData> distributions, IDistributedParameter parameter, IDistributedParameter baseParameter, OriginData originData)
        {
            var knownSamples = from distribution in distributions
                               select new Sample(distribution.Age, distribution.Mean);

            parameter.MeanParameter.Value = _interpolation.Interpolate(knownSamples, originData.Age.Value);
            parameter.ScaleDistributionBasedOn(baseParameter);
        }
Exemple #2
0
        public void UpdateDistributionBasedOn(IEnumerable <ParameterDistributionMetaData> distributions, IDistributedParameter parameter, IDistributedParameter baseParameter, OriginData originData)
        {
            var knownSamples = from distribution in distributions
                               select new
            {
                Mean = new Sample(distribution.Age, distribution.Mean),
                Std  = new Sample(distribution.Age, distribution.Deviation)
            };

            knownSamples = knownSamples.ToList();
            parameter.MeanParameter.Value      = _interpolation.Interpolate(knownSamples.Select(item => item.Mean), originData.Age.Value);
            parameter.DeviationParameter.Value = _interpolation.Interpolate(knownSamples.Select(item => item.Std), originData.Age.Value);
            parameter.ScaleDistributionBasedOn(baseParameter);
        }