C#、数値計算 - Funcdの計算方法とソースプログラム

 

システムを使用する;

namespace Legalsoft.Truffer
{     public class Funcd : RealValueFunWithDiff     {         public double EPS { get; セット; = float.Epsilon;         public RealValueFun func { get; セット; public         double f {get; セット; }




        public Funcd(RealValueFun funcc)
        {             this.EPS = 1.0e-8;             this.func = funcc;         public double funk(double[] x)         {             return get(x);         }         }






        public double get(double[] x)
        {             return f = func.funk(x);         }

        public void df(double[] x, double[] df)
        {             int n = x.Length;             double[] xh = x;             二重折り = f;             for (int j = 0; j < n; j++)             {                 double temp = x[j];                 double h = EPS * Math.Abs​​(temp);                 //if (h == 0.0)                 if (Math.Abs​​(h) <= float.Epsilon)                 {                     h = EPS;                 xh                 [j] = 温度 + h;                 h = xh[j] - 温度;                 ダブル fh = (xh[0]);                 xh[j] = 温度;
















                df[j] = (fh - 倍数) / h;
            }
        } }
    }

 

おすすめ

転載: blog.csdn.net/beijinghorn/article/details/132219035