有人用过GIAC吗?你能告诉我如何ex
用字符串初始化对象,或者将字符串转换为ex
?
问问题
305 次
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 回答