システムを使用する;
名前空間 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 を返します。
}
}
}