2012-11-30 3 views
2

누구나 GINAC를 사용합니까? 문자열로 ex 개체를 초기화하는 방법을 알려주거나 문자열을 ex으로 변환 하시겠습니까?문자열로 ex 객체를 초기화하는 방법을 누가 알 수 있습니까?

+1

여기에 문서화 된 생성자가 없습니다 : http://www.ginac.de/reference/classGiNaC_1_1ex.html#ace68037326c1a2b8c93a56716599ec7a – jogojapan

+0

이 방법을 시도했지만 작동하지 않습니다! 그리고 그 의미는 무엇입니까? 두 번째 매개 변수는? – EastStar

답변

1

올바른 식 구문이 포함 된 문자열이있는 경우 here에 설명 된 생성자를 사용하여 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"으로 단순화되었습니다.

+0

미안하지만, 내가 무슨 뜻인지 이해하지 못했을 것 같습니다. 예를 보여줍니다. – EastStar

+0

문자열 s ("Hello"); 예; 문자열 s의 값을 ex에 전달하는 방법은 무엇입니까? – EastStar

+0

e는 add(), expand(), factor 등과 같은 많은 수학 연산을 구현할 수 있습니다. – EastStar