예제 #1
0
        /// <summary>
        /// Objective function for nonlinear least squares regression.
        /// The numerical jacobian with accuracy order is used.
        /// </summary>
        public static IObjectiveFunction NonlinearFunction(Func <Vector <double>, Vector <double>, Vector <double> > function,
                                                           Vector <double> observedX, Vector <double> observedY, Vector <double> weight = null,
                                                           int accuracyOrder = 2)
        {
            var objective = new NonlinearObjectiveFunction(function, null, accuracyOrder: accuracyOrder);

            objective.SetObserved(observedX, observedY, weight);
            return(objective.ToObjectiveFunction());
        }
예제 #2
0
        /// <summary>
        /// Objective function with a user supplied jacobian for nonlinear least squares regression.
        /// </summary>
        public static IObjectiveFunction NonlinearFunction(Func <Vector <double>, Vector <double>, Vector <double> > function,
                                                           Func <Vector <double>, Vector <double>, Matrix <double> > derivatives,
                                                           Vector <double> observedX, Vector <double> observedY, Vector <double> weight = null)
        {
            var objective = new NonlinearObjectiveFunction(function, derivatives);

            objective.SetObserved(observedX, observedY, weight);
            return(objective.ToObjectiveFunction());
        }