public List <string> getResults(RozenbokeFunction function, double x1, double x2, double e) { List <string> results = new List <string>(); Matrix grad = null; int i = 1; do { grad = calculateGrad(function, x1, x2); Matrix gesse = getInverseGesseRoz(x1, x2); Matrix res = gesse * grad; x1 -= res.get(0, 0); x2 -= res.get(0, 1); results.Add(String.Format("k={0} x1={1} x2={2} f(x1,x2)={3}", i++, Math.Round(x1, 3), Math.Round(x2, 3), Math.Round(function.getY(x1, x2), 3))); } while (grad == null || (Math.Abs(grad.get(0, 0)) > e || Math.Abs(grad.get(0, 1)) > e)); return(results); }
public List <string> getResults(RozenbokeFunction function, double eps, double x1, double x2) { return(getResults(function, eps, x1, x2, 0.0006, 0.0003, 0.0005)); }
public List <string> getResults(RozenbokeFunction function, double x1, double x2, double e) { return(getResults(function, x1, x2, e, 0.1)); }