C#、コード Haishibei (44) - 「非線形方程式の実根」の「ニュートン法」の C# ソース コード

 

システムを使用する;

名前空間 Zhou.CSharp.Algorithm
{     パブリック デリゲート double delFunction_x(double x);     パブリックデリゲートdouble delFunction_xa(double[] x);     パブリックデリゲートdouble delFunction_x_y(double x, double y);     パブリックデリゲートdouble delFunction_x_ya(double x, double[] y);     パブリックデリゲートdouble delFunction_xa_ya(double[] x, double[] y);




    /// <summary>
    /// 非線形方程式を解くためのクラス NLEquations
    /// Zhou Changfa
    /// 深い混乱に適応
    /// </summary>
    public static Partial class NLEquations
    {

        double eps) {             int r;             ダブル d、p、x0、x1 = 0.0;















            double[] y = 新しい double[2];

            // 条件値
            r = nMaxIt;
            x0 = x;
            Func(x0, y);

            // ロード、ロード
            d = eps + 1.0;
            while ( ( d >= eps ) && ( r ! = 0 ))
            {                 if ( Math . Abs ( y [ 1 ] ) < float . Epsilon )                 {                     return false ;                 x1                 = x0 - y[0] / y[1];                 Func ( x1 , y ) ;





                d = Math.Abs​​(x1 - x0);
                p = Math.Abs​​(y[0]);
                if (p > d)
                {                     d = p;                 x0                 = x1;                 r = r - 1;             }




            x = x1;

            true を返します。
        }
}

}

おすすめ

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