public IActionResult Calculate(string formula, string points, double taylorAround, uint taylorN, double startIntegral, double endIntegral)
        {
            if (string.IsNullOrEmpty(formula))
            {
                return(RedirectToAction("Index"));
            }

            var model = new CalculateViewModel();

            model.Original = formula;


            var parser = new StringParser(formula);
            var result = parser.GetOperator();

            model.NiceFormat = (result.DeepSimplyfy().ToMathString());

            model.DerivativeNiceFormat = (result.Derivate().DeepSimplyfy().ToMathString());
            model.DerivativePointJson  =
                JSONHelper.ToJSON(NewtonDerivative.CalculatePoints(result, 0.001d, 0.5d, -3, 3));

            model.IntegralStart = startIntegral;
            model.IntegralEnd   = endIntegral;

            model.IntegralSum = RiemannSum.CalculateSum(result, startIntegral, endIntegral);

            model.TaylorPoloynoomAround     = taylorAround;
            model.TaylorPoloynoomNiceFormat = Taylorpolynomial.CalculateNPolynomial(result, taylorAround, taylorN).ToMathString();

            model.McClairenPoloynoomNiceFormat = Taylorpolynomial.CalculateNPolynomial(result, 0, taylorN).ToMathString();

            model.Request = HttpContext;
            try
            {
                model.GausJordon = GausJordan.GetBaseMathOperatorFromList(GetPoints(points)).DeepSimplyfy()
                                   .ToMathString();
                model.GausJordonFault = false;
            }
            catch (Exception e)
            {
                model.GausJordonFault = true;
            }

            var json = JsonCreator.CreateFromBaseOpeator(result);

            model.JsonData = JsonConvert.SerializeObject(json);

            model.TaylorPossible = model.McClairenPoloynoomNiceFormat.IndexOf("NaN", StringComparison.Ordinal) >= 0 || model.TaylorPoloynoomNiceFormat.IndexOf("NaN", StringComparison.Ordinal) >= 0;

            return(View(model));
        }
Ejemplo n.º 2
0
        static void Main(string[] args)
        {
            try
            {
                Console.WriteLine("Hello World!");

                var list = new List <Point>();
                list.Add(new Point()
                {
                    X = 7, Y = 3
                });
                list.Add(new Point()
                {
                    X = 5, Y = 6
                });
                list.Add(new Point()
                {
                    X = 2, Y = 7
                });
                var mat = GausJordan.GetMatrixFromPoints(list);
                var ys  = GausJordan.GetAnwsersFromPoints(list);

                var ans = GausJordan.GetValues(mat, ys);

                foreach (var an in ans)
                {
                    Console.WriteLine(an);
                }

                Console.WriteLine(GausJordan.GetBaseMathOperatorFromValues(ans).DeepSimplyfy().ToMathString());
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                Console.WriteLine(e.StackTrace);
            }
        }