システムを使用する;
namespace Legalsoft.Truffer
{ public class Linemethod { public double[] p { get; セット; パブリック ダブル[] xi; public int n { 取得; セット; }
パブリック RealValueFun 関数;
public Linemethod(RealValueFun funcc)
{ this.func = funcc; }
public double linmin()
{ n = p.Length; F1dim f1dim = 新しい F1dim(p, xi, func); 二重軸 = 0.0; ダブルxx = 1.0; ブレント ブレント = 新しいブレント(); brent.bracket(ax, xx, f1dim); double xmin = brent.minimize(f1dim); for (int j = 0; j < n; j++) { xi[j] *= xmin; p[j] += xi[j]; brent.fmin を返し ます。 } } }