private void btnCalcValueAt_Click(object sender, EventArgs e) { try { Explicit2DFunction explicitFunction = null; explicitFunction = new Explicit2DFunction(txtExplicitFunction.Text); txtYValuleAt.Text = explicitFunction.ValueAt((double)nudValueAt.Value).ToString(); } catch (Exception ex) { MessageBox.Show(ex.Message, "MathX Demo", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } }
private void btnCalcInvert_Click(object sender, EventArgs e) { try { Explicit2DFunction function = new Explicit2DFunction(txtExplicitFunction.Text); Explicit2DFunction invertFunction = FunctionFactory.InverseExplicit2DFunction(function); txtInvertFunction.Text = invertFunction.Expression; } catch (Exception ex) { MessageBox.Show(ex.Message, "MathX Demo", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } }
private void btnCalcDerivative_Click(object sender, EventArgs e) { Function function = null; try { function = new Explicit2DFunction(txtExplicitFunction.Text); for (int i = 1; i <= nudDerivative.Value; i++) { function = function.Derivative; } txtExplicitResult.Text = function.Expression; } catch (Exception ex) { MessageBox.Show(ex.Message, "MathX Demo", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } }
protected override void InitFunction() { if (this.SourceType == SourceType.Equation) { _function = new Explicit2DFunction(this.Formula); } else { // RealFunctionEvalutor evalutor = new RealFunctionEvalutor(); // evalutor.Text = this.CodeBody; // switch(this.CodeLanguage) // { // case CodeLanguage.CSharp: // evalutor.language= CodeLanguage.CSharp; // break; // case CodeLanguage.VBNET: // evalutor.language = CodeLanguage.VBNET; // break; // } // _function = new Explicit2DFunction(new RealFunction(evalutor.Invoke)); FunctionEvalutor evalutor = new FunctionEvalutor(this.CodeBody, new string[] { "x" }, this.CodeLanguage); _function = new Explicit2DFunction((RealFunction)evalutor.CreateDelegate(typeof(RealFunction))); } if (_isInvert) { _function = FunctionFactory.InverseExplicit2DFunction((Explicit2DFunction)_function); } if (this.DerivativeMode) { for (int i = 0; i < this.OrderOfDerivative; i++) { _function = _function.Derivative; if (_function is Constant) { return; } } } }
public Explicit2DFunctionPlotter(Explicit2DFunction function) { _function = function.ValueAt; }