MathNet.Symbolics Algebraic.Expand 降序?
MathNet.Symbolics Algebraic.Expand in descending order?
使用 MathNet.Symbolics
库,我尝试打印具有降幂阶数的多项式:
using mse = MathNet.Symbolics.Expression;
using MathNet.Symbolics;
public void Symbolics()
{
var x1 = 2;
var y2 = 3;
var x2 = 4;
// (2a+3)(a-4)
var x = mse.Symbol("x");
var a = mse.Symbol("x");
var y = mse.Symbol("y");
var expression = (x1 * a + y2) * (a - x2);
var expanded = Algebraic.Expand(expression);
var firstResult = Infix.Format(expanded);
Debug.Log("Expression: " + expression);
Debug.Log("Expanded: " + firstResult);
}
当前输出按升序排列:-12 - 5*x + 2*x^2
,但我想要相反的顺序。
我在多项式中尝试了 .ToStringDescending()
函数,但无法在此处运行。
此外,如果可能,输出到 Latex 会很有用,但不是必需的。
我如何得到 Algebraic.Expand
的结果,而不是升序?
您可以使用相应的格式提供程序进行 Latex 输出:
Console.WriteLine("LaTeX.Format: " + LaTeX.Format(expanded));
我能得到的最好的方法是使用Summands
来获取它们并反转列表。遗憾的是 +
标志在这个过程中丢失了:
Console.WriteLine("Summands: " + string.Join("+", Algebraic.Summands(expanded).Reverse().Select(Infix.Format)));
Numerics.Polynomial 有 ToString() returns 升序形式的字符串和
ToStringDescending(字符串格式,IFormatProvider formatProvider)
按降序格式化多项式,例如"x^3 + 2.0x^2 - 4.3"
即returns降序形式的字符串。
使用 MathNet.Symbolics
库,我尝试打印具有降幂阶数的多项式:
using mse = MathNet.Symbolics.Expression;
using MathNet.Symbolics;
public void Symbolics()
{
var x1 = 2;
var y2 = 3;
var x2 = 4;
// (2a+3)(a-4)
var x = mse.Symbol("x");
var a = mse.Symbol("x");
var y = mse.Symbol("y");
var expression = (x1 * a + y2) * (a - x2);
var expanded = Algebraic.Expand(expression);
var firstResult = Infix.Format(expanded);
Debug.Log("Expression: " + expression);
Debug.Log("Expanded: " + firstResult);
}
当前输出按升序排列:-12 - 5*x + 2*x^2
,但我想要相反的顺序。
我在多项式中尝试了 .ToStringDescending()
函数,但无法在此处运行。
此外,如果可能,输出到 Latex 会很有用,但不是必需的。
我如何得到 Algebraic.Expand
的结果,而不是升序?
您可以使用相应的格式提供程序进行 Latex 输出:
Console.WriteLine("LaTeX.Format: " + LaTeX.Format(expanded));
我能得到的最好的方法是使用Summands
来获取它们并反转列表。遗憾的是 +
标志在这个过程中丢失了:
Console.WriteLine("Summands: " + string.Join("+", Algebraic.Summands(expanded).Reverse().Select(Infix.Format)));
Numerics.Polynomial 有 ToString() returns 升序形式的字符串和
ToStringDescending(字符串格式,IFormatProvider formatProvider) 按降序格式化多项式,例如"x^3 + 2.0x^2 - 4.3"
即returns降序形式的字符串。