2017-02-10 10 views
0

나는 내 작업에 대한 몇 가지 메모를 적어 두려고합니다. Maxima가 내 작업을 단순화하는 방법은 일단 방정식을 작성하고 변수의 정의를 변경하려면 전체 파일을 다시 평가한다는 것입니다. 내가 방정식의 시스템을 가지고 내가 맥시마에서 원하는 모두는 변수 대체 :Maxima : 방정식의 변수를 바꾸는 방법


질문 1 : 여기

내가 달성하기 위해 노력하고있어의 예입니다. 나는 + BC를 수 X를 원하는 경우

eq1: x=a+b+c 
eq2: y=d+e+f 
eq3: x+y=0 

가 어떻게 미래에

eq3: a+b+c+d+e+f = 0 

그래서 출력 맥시멈을받을 수 있나요, 그냥 변경 및


재 평가 질문 2 : 이전과 비슷하지만 조금 더 복잡함

eq1: x=a+b+c 
eq2: y=d+e+f 
eq3: x=y 
eq4: a+s+e=0 

어떻게 내가 맥시마에 대한 EQ1를 해결하고

eq4: x-b-c+s+y-d-f = 0 

이 귀도 당신의 도움에 미리 감사 전자 및 출력 EQ2를 해결하기 위해 어떻게해야합니까 어떻게 출력

eq3 a+b+c=d+e+f 

에 맥시마를받을 수 있나요

답변

2

나는 여기에 원하는 작업을 처리 할 수있는 substsolve이 있다고 생각합니다.

(%i1) eq1: x=a+b+c; 
(%o1)       x = c + b + a 
(%i2) eq2: y=d+e+f; 
(%o2)       y = f + e + d 
(%i3) eq3: x+y=0; 
(%o3)        y + x = 0 
(%i4) subst ([eq1, eq2], eq3); 
(%o4)      f + e + d + c + b + a = 0 

이제 두 번째 예가 나와 있습니다. solve은 방정식 목록을 반환합니다.

(%i5) eq3: x=y; 
(%o5)        x = y 
(%i6) eq4: a+s+e=0; 
(%o6)       s + e + a = 0 
(%i7) subst ([eq1, eq2], eq3); 
(%o7)      c + b + a = f + e + d 
(%i8) solve (eq1, a); 
(%o8)       [a = x - c - b] 
(%i9) solve (eq2, e); 
(%o9)       [e = y - f - d] 
(%i10) append (%o8, %o9); 
(%o10)     [a = x - c - b, e = y - f - d] 
(%i11) subst (%o10, eq4); 
(%o11)     y + x + s - f - d - c - b = 0 

Maxima의 solve 기능이 너무 강력하지 않습니다. 해결할 수없는 많은 종류의 방정식이 있습니다. 그러나 선형 방정식을 풀 수 있습니다.

+0

로버트 감사합니다. 나는 subst가 그런 식으로 사용될 수 있다는 것을 몰랐다. 정말 당신의 도움을 주셔서 감사합니다. – guidout