Ejemplo n.º 1
0
        //public static PredictionsViewModel MakeRecursiveKalmanViewModel(IScheduler scheduler)
        //{
        //    var newThread = NewThreadScheduler.Default;
        //    var meas = Filter.Service.TimeValueServiceFactory.MakeMeasurementUnknownServiceDefault(100, newThread);
        //         var kf = new KalmanFilter.Wrap.DiscreteWrapper(r, q);

        //    //    //kf.AdaptiveQ = new AEKFKFQ(q);
        //    //    //kf.AdaptiveR = new AEKFKFR(r);

        //    kf = new KalmanFilter.Wrap.DiscreteWrapper(new double[] { 1 }, new double[] { 10, 10 });

        //    //kf.AdaptiveQ = new AEKFKFQ(q);
        //    //kf.AdaptiveR = new AEKFKFR(r);

        //    u = kf.BatchRunRecursive(meas);

        //    var scheduler = new DispatcherScheduler(dispatcher);
        //    return new PredictionsViewModel(meas, u, scheduler);


        //}



        public static IObservable <KeyValuePair <DateTime, Tuple <double, double>[]> > RunAccordKalman(IScheduler scheduler)
        {
            var meas = Filter.Service.TimeValueServiceFactory.MakeMeasurementUnknownServiceDefault(100, scheduler);
            var kf   = new KalmanFilter.Wrap.AccordKalmanFilterWrapper(2);

            return(kf.Run(meas));
        }
        public static IEnumerable <KeyValuePair <DateTime, Tuple <double, double>[]> > RunAccordKalman(IEnumerable <KeyValuePair <DateTime, double> > meas)
        {
            var kf = new KalmanFilter.Wrap.AccordKalmanFilterWrapper(2);

            return(kf.BatchRun(meas));
        }