C#, Numerical Calculation - Calculation Method and Source Program of Linemethod

using System;

namespace Legalsoft.Truffer
{
    public class Linemethod
    {
        public double[] p { get; set; }
        public double[] xi;
        public int n { get; set; }

        public RealValueFun func;

        public Linemethod(RealValueFun funcc)
        {
            this.func = funcc;
        }

        public double linmin()
        {
            n = p.Length;
            F1dim f1dim = new F1dim(p, xi, func);
            double ax = 0.0;
            double xx = 1.0;
            Brent brent = new Brent();
            brent.bracket(ax, xx, f1dim);
            double xmin = brent.minimize(f1dim);
            for (int j = 0; j < n; j++)
            {
                xi[j] *= xmin;
                p[j] += xi[j];
            }
            return brent.fmin;
        }
    }
}
 

Guess you like

Origin blog.csdn.net/beijinghorn/article/details/132286458