2

誰かがGINACを使用していますか?ex文字列を使用してオブジェクトを初期化する方法、または文字列をに変換する方法を教えてくださいex

4

1 に答える 1

1

正しい式の構文を含む文字列がある場合は、ここに記載されているコンストラクターを使用して、それをexオブジェクトに変換できます。

2番目の引数を指定する必要があります。これはlst、シンボルのリスト(オブジェクトの意味で)である必要があります。このリストには、式で使用するユーザー定義の記号が含まれている必要があります。ユーザー定義のシンボルを使用しない場合は、空のリストを使用してください。

ユーザー定義記号のない例:

  using namespace std;
  using namespace GiNaC;

  ex myex("2+3",lst());      // Output will be '5'

  cout myex << endl;

2つのユーザー定義シンボルを使用した例:

  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"が実際に記号として解釈されたことがわかりますymyex + yはに簡略化されてい"2*y+x^3"ます。

于 2012-11-30T06:01:40.187 に答える