2

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

4

1 回答 1

1

如果您的字符串包含正确的表达式语法,则可以使用此处记录的构造函数将其转换为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'

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

于 2012-11-30T06:01:40.187 回答