2012-03-18 2 views
1

방정식 시스템에 Matlab에서 공백이 아닌 솔루션 집합이 있는지 확인하려고합니다. Groebner 기반을 계산하여이 작업을 수행 할 수 있다는 것을 알고 있으며,이 작업이 1과 같으면 시스템에 빈 솔루션 세트가있는 것입니다. Matlab에서이 작업을 수행 할 수 있습니까?Matlab에서 방정식 시스템의 Groebner Base를 계산하는 방법

답변

2

다항식 집합으로 벡터를 만들어야합니다. 이 형식의 문자열이어야합니다 f1, f2, ..., fn는, 예를 들어 polynomias이다

f1 , f2, ..., fn 

f1=x^2-1, f2=y*x^3-x-2. 이 문자열은 반드시 문자열이어야합니다. 당신은 다항식의 셀 배열로부터 그것을 만들 수 있습니다.

polyRing = strcat(polyCell{:}); 
polyRing(end)=[]; 

polyCell={f1, f2, ..., fn}은 그럼 당신은

groebnerBasis=evalin(symengine,['groebner::gbasis([' polyRing '])']); 

Mupad에서 적절한 함수를 호출을해야하거나 사전 식 순서로 평가 : 그것 뿐이다

groebnerBasis=evalin(symengine,['groebner::gbasis([' polyRing '],LexOrder)']); 

합니다. Mupad를 직접 사용할 수도 있지만 문서를 확인하도록하겠습니다.

+1

이것은 mupad에서 실행됩니까? 하지만 설치되어 있지 않습니다. –

+0

Mupad는 Matlab의 기본 기호 엔진이며 Matlab과 함께 설치됩니다. –

+0

하지만 변수의 순서는 어떻게 정의합니까? 예 : x> y> z이다. 그리고/또는'feval' 함수를 어떻게 사용할 수 있습니까? – Tanasis