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)); }
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); } }