谁能告诉我如何用字符串初始化 ex 对象

Who can tell me how to init a ex object with a string?

本文关键字:初始化 ex 对象 字符串 何用 告诉我      更新时间:2023-10-16

有人使用GINAC吗?你能告诉我如何使用字符串初始化ex对象,或将字符串转换为ex吗?

如果字符串包含正确的表达式语法,则可以使用此处记录的构造函数将其转换为 ex 对象。

您需要提供第二个参数,该参数必须是符号的列表(在lst对象的意义上)。此列表必须包含您在表达式中使用的用户定义符号。如果不使用任何用户定义的符号,请使用空列表。

没有用户定义符号的示例:

  using namespace std;
  using namespace GiNaC;
  ex myex("2+3",lst());      // Output will be '5'
  cout myex << endl;

使用两个用户定义符号的示例:

  using namespace std;
  using namespace GiNaC;
  symbol x("x");
  symbol y("y");
  ex myex("x^3+y",lst(x,y));
  cout << myex + y << endl;     // Output will be '2*y+x^3'

在上一个示例中,您可以看到输入字符串 "x^3+y" 中的字符'y'确实被解释为符号 ymyex + y 简化为 "2*y+x^3"