如何显示衍生品

How to display a derivative

不确定这是本网站的正确部分,但我有一个问题。

所以,我正在使用 MathNet.Numerics 来计算导数。我想在控制台中显示它们。

代码示例

using System;
using MathNet.Numerics;

namespace math
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
            Func<double,double> f = x => 3 * Math.Pow(x, 3) + 2 * x - 6;
            var test = Differentiate.DerivativeFunc(f, 1);
            Console.WriteLine(test.ToString());
            Console.ReadKey();
        }
    }
}

问题

让我改写你的问题,以确保我理解并正确回答你:给定函数 3x³ + 2x - 6 你想在控制台中打印导数方程 9x² + 2

库 Math.NET 数值无法做到这一点

此库执行计算。它不会尝试构造导数方程。

查看:Differentiate.DerivativeFunc 方法 returns 一个 C# 方法 Func<double, double> 将双精度数作为参数,returns 一个双精度数作为结果。此签名使得无法检索 f' 的方程。深入了解代码,发现该库都是关于使用近似值计算结果的。

然而 Math.NET 符号可以

https://symbolics.mathdotnet.com/ 就是您要找的。我写了下面的代码:

// using System;
// using MathNet.Symbolics;
// using Expr = MathNet.Symbolics.SymbolicExpression;

var x = Expr.Variable("x");
var func = 3 * (x * x * x) + 2 * x - 6;
Console.WriteLine("f(x) = " + func.ToString());

var derivative = func.Differentiate(x);
Console.WriteLine("f'(x) = " + derivative.ToString());

在控制台打印:

f(x) = -6 + 2*x + 3*x^3

f'(x) = 2 + 9*x^2