繁体   English   中英

如何通过 MathNet 在 C# 中找到函数的值

[英]How Can I Find Function's Value by MathNet in C#

我需要找到给定值的函数值。 例如function是3x-6,求f(1),

using MathNet.Numerics;
using MathNet.Symbolics;
using Expr = MathNet.Symbolics.SymbolicExpression;        
        
var x = Expr.Variable("x");
var func = 3*x - 6;
// var value = func.Evaluate?

我应该使用评估方法吗? 我怎样才能做到这一点?

你的表达和评价不正确。

您可以执行一个将 x 作为参数的方法,并通过使用正确的代码获得正确的结果。

这是一个工作示例,其中包含对您的问题的内联评论/解释。 你可以改变你的等式,用它做任何事。 享受:

public static double MyFunc(int x)
{
    // pass one or multiple variable in equation
    var variables = new Dictionary<string, FloatingPoint>
    {
        { "x", x }
    };

    //transfer equation from string to expression
    Expression expression = Infix.ParseOrThrow("3*x-6");
    
    //evaluate the result in double
    double result = Evaluate.Evaluate(variables, expression).RealValue;
    return result;
}

现在运行它,并传递类似于f(1)MyFunc(1) 1) ,它返回-3 ,传递MyFunc(2)返回0并传递MyFunc(3)返回3等等。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM