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);
        }
Example #3
0
        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);
        }
Example #4
0
        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);
        }
Example #5
0
        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);
        }
Example #6
0
 private double GetFunctionValue(double x)
 {
     variable["x"] = x;
     return(funcExpression.Evaluate(variable).RealValue);
 }
Example #7
0
 private double GetFunctionValue(double x)
 {
     varDictionary[varName] = x;
     return(expression.Evaluate(varDictionary).RealValue);
 }