internal List <List <double> > CalculateResults(double[] argumentsX, double[] argumentsY, Function function) { List <List <double> > output3D = new List <List <double> >(); output3D.Add(new List <double>()); // x output3D.Add(new List <double>()); // y output3D.Add(new List <double>()); // z double[] localArgs = new double[2]; Expression exp; for (int i = 0; i < argumentsX.Length; i++) { localArgs[0] = argumentsX[i]; for (int j = 0; j < argumentsY.Length; j++) { localArgs[1] = argumentsY[j]; exp = ModelingClass.BuildNewExpr(localArgs, function);// строим выражения для функции output3D[0].Add(argumentsX[i]); output3D[1].Add(argumentsY[j]); output3D[2].Add(exp.calculate()); } } return(output3D); }
internal double [] CalculateResults(double[] arguments, Function function) { double[] result = new double[arguments.Length]; for (int i = 0; i < arguments.Length; i++) { Expression expr = ModelingClass.BuildNewExpr(new double[] { arguments[i] }, function);// строим выражения для функции result[i] = Math.Round(expr.calculate(), 6); } return(result); }