コード例 #1
0
ファイル: MainForm.cs プロジェクト: carlhuth/GenXSource
 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;
     }
 }
コード例 #2
0
ファイル: MainForm.cs プロジェクト: carlhuth/GenXSource
 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;
     }
 }
コード例 #3
0
ファイル: MainForm.cs プロジェクト: carlhuth/GenXSource
        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;
            }
        }
コード例 #4
0
        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;
                    }
                }
            }
        }
コード例 #5
0
 public Explicit2DFunctionPlotter(Explicit2DFunction function)
 {
     _function = function.ValueAt;
 }