システムを使用する;
名前空間 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 i, j; ダブル f、d、s;
double[] y = 新しい double[n];
i = nMaxIt;
f = Func(x, y);
// 精度を制御し、反復的に解決します
while (f >= eps)
{ i = i - 1; if (i == 0) { return true; }
d = 0.0;
for (j = 0; j <= n - 1; j++)
{ d = d + y[j] * y[j]; if (Math.Abs(d) < float.Epsilon) { return false; }
s = f / d;
for (j = 0; j <= n - 1; j++)
{ x[j] = x[j] - s * y[j]; f = Func(x, y); }
// 有効反復回数内で精度に達するかどうか
return (nMaxIt > i);
}
}
}