예제 #1
0
        public void Cicrle2D_LM_Der()
        {
            // unconstrained
            var obj    = ObjectiveFunction.MultivariateNonlinearModel(Circle2DModel, new[] { Circle2DX, Circle2DY }, new DenseVector(4));
            var solver = new LevenbergMarquardtMinimizer(maximumIterations: 10000);
            var result = solver.FindMinimum(obj, new DenseVector(new [] { 0.1, 0.1, 2.0 }));

            for (int i = 0; i < result.MinimizingPoint.Count; i++)
            {
                AssertHelpers.AlmostEqualRelative(Circle2DPbest[i], result.MinimizingPoint[i], 2);
            }
        }