private List <Point> GeneratePoints() { SymbolicExpression expression = SymbolicExpression.Parse(TextBoxInputFunc.Text); Dictionary <string, FloatingPoint> variable = new Dictionary <string, FloatingPoint>(); variable.Add("x", 0); List <Point> points = new List <Point>(); decimal step = 0; decimal b = Convert.ToDecimal(TextBoxInputB.Text); while (step <= b) { variable["x"] = (double)step; points.Add(new Point((double)step, expression.Evaluate(variable).RealValue)); step += (decimal)0.1; } //for (int i = 0; i < count; i++) //{ // variable["x"] = (double)step; // points.Add(new Point((double)step, expression.Evaluate(variable).RealValue)); // step += (decimal)0.1; //} return(points); }
static double MathParse(string function, double x) { SymbolicExpression expression = SymbolicExpression.Parse(function); Dictionary <string, FloatingPoint> variables = new Dictionary <string, FloatingPoint>(); variables.Add("x", x); return(expression.Evaluate(variables).RealValue); }
private List <Point> GetPoints(double leftBorder, double rightBorder, double step) { SymbolicExpression expression = SymbolicExpression.Parse(TbFunction.Text); Dictionary <string, FloatingPoint> variable = new Dictionary <string, FloatingPoint>(); variable.Add("x", 0); List <Point> points = new List <Point>(); decimal x = (decimal)leftBorder; for (double i = leftBorder; i < (rightBorder - leftBorder) / step; i++) { variable["x"] = (double)x; points.Add(new Point((double)x, expression.Evaluate(variable).RealValue)); x += (decimal)step; } return(points); }
private List <Point> GetPoints(int numberPoints, decimal step, string function) { SymbolicExpression expression = SymbolicExpression.Parse(function); Dictionary <string, FloatingPoint> variable = new Dictionary <string, FloatingPoint>(); variable.Add("x", 0); List <Point> points = new List <Point>(); decimal s = 0; for (int i = 0; i < numberPoints; i++) { variable["x"] = (double)s; points.Add(new Point((double)s, expression.Evaluate(variable).RealValue)); s += step; } return(points); }
public static double EvaluateFunction(double t, double y, string function) { SymbolicExpression expression = Infix.ParseOrThrow(function); Dictionary <string, FloatingPoint> variables = new Dictionary <string, FloatingPoint> { { "t", t }, { "y", y } }; double result; try { result = expression.Evaluate(variables).RealValue; } catch (Exception) { result = 0; } return(result); }
private double GetFunctionValue(double x) { variable["x"] = x; return(funcExpression.Evaluate(variable).RealValue); }
private double GetFunctionValue(double x) { varDictionary[varName] = x; return(expression.Evaluate(varDictionary).RealValue); }