GiNaC получить символ из выражения добавления

При работе с выражениями типа GiNaC::integral, Я могу позвонить, чтобы получить переменную интегрирования, т.е.

      #include <ginac/ginac.h>

int main()
{
  GiNaC::symbol x("x");
  GiNaC::ex intgr = GiNaC::integral(x, 0, 1, 3*GiNaC::pow(x, 2));

  std::cout << intgr.op(0) << std::endl; // yields "x"

  return 0;
}

Есть ли аналогичный способ получить символ из выражения типа GiNaC::add?

например, при работе с выражением 3*x^2+4*x звонящий .op(0)возвращает одно из условий. Как я могу извлечь символ x оттуда?

      #include <ginac/ginac.h>

int main()
{
  GiNaC::symbol x("x");
  GiNaC::ex e = 3*GiNaC::pow(x, 2)+4*x;

  std::cout << e.op(0) << std::endl; // yields "3*x^2" or "4*x"

  return 0;
}

Как я могу получить символ из такого выражения?

Любая помощь приветствуется.

0 ответов

Другие вопросы по тегам