Math.net C# 中三角函数的幂
Math.net Powers of Trigonometric Functions in C#
如何在 Math.net 中获得三角函数的幂?
Expr x = Expr.Variable("x");
Expr g = (2 * x).Sinh().Pow(2);
g.ToString()
给出输出:(sinh(2*x))^2
我要的是sinh^2(2*x)
我该怎么做?
编辑:
根据下面 Christoph 的评论,这可以在实现 Expr.ToCustomString(true)
的 v0.21.0 中完成
目前不支持该表示法。但是,我看到三个选项:
- 我们将三角函数的幂定义为新函数,或者使它们成为参数。
这是我不想做的事情。
- 我们将未应用函数作为第一个 class 概念引入,可以通过这种方式进行操作。
这是我们可能想在某个时候探索的内容,但这是一个更大的话题,可能对您的需求来说有点矫枉过正。
- 扩展我们的视觉表达式以支持函数的正整数幂。
这是我们可以实现的东西。
选项 3 将在此类表达式中保存一组括号,这将导致更紧凑的呈现,尤其是对于结果更具可读性的 LaTeX 格式化程序。当从表达式构建视觉表达式时,它会自动将正整数幂拉到应用函数。
据我了解,您只关心它的打印方式,所以在我看来这也能解决您的问题?
如何在 Math.net 中获得三角函数的幂?
Expr x = Expr.Variable("x");
Expr g = (2 * x).Sinh().Pow(2);
g.ToString()
给出输出:(sinh(2*x))^2
我要的是sinh^2(2*x)
我该怎么做?
编辑:
根据下面 Christoph 的评论,这可以在实现 Expr.ToCustomString(true)
目前不支持该表示法。但是,我看到三个选项:
- 我们将三角函数的幂定义为新函数,或者使它们成为参数。
这是我不想做的事情。 - 我们将未应用函数作为第一个 class 概念引入,可以通过这种方式进行操作。
这是我们可能想在某个时候探索的内容,但这是一个更大的话题,可能对您的需求来说有点矫枉过正。 - 扩展我们的视觉表达式以支持函数的正整数幂。
这是我们可以实现的东西。
选项 3 将在此类表达式中保存一组括号,这将导致更紧凑的呈现,尤其是对于结果更具可读性的 LaTeX 格式化程序。当从表达式构建视觉表达式时,它会自动将正整数幂拉到应用函数。
据我了解,您只关心它的打印方式,所以在我看来这也能解决您的问题?