usando Sistema;
espacio de nombres Legalsoft.Truffer
{ clase pública Funcd: RealValueFunWithDiff { doble EPS público { get; colocar; } = flotador.Epsilon; función pública RealValueFun { get; colocar; } público doble f { get; colocar; }
funcd pública (funcc RealValueFun)
{ this.EPS = 1.0e-8; this.func = funcc; } público doble funk(doble[] x) { return get(x); }
público doble get(doble[] x)
{ return f = func.funk(x); }
public void df(doble[] x, doble[] df)
{ int n = x.Longitud; doble[] xh = x; doble pliegue = f; for (int j = 0; j < n; j++) { doble temperatura = x[j]; doble h = EPS * Math.Abs(temp); //si (h == 0.0) if (Math.Abs(h) <= float.Epsilon) { h = EPS; } xh[j] = temperatura + h; h = xh[j] - temperatura; doble fh = (xh[0]); xh[j] = temperatura;
df[j] = (fh - plegar) / h;
}
} }
}