Maxima:如何替换方程中的变量

问题描述:

我正在努力写下我工作中的一些笔记。 Maxima将简化我的工作的方法是,一旦我写了一堆方程式,并且想要更改变量的定义,我就可以重新评估整个文件。Maxima:如何替换方程中的变量

这里是什么,我试图完成一个例子:


问题1: 我有一个方程组和所有我从千里马要的只是变量替换。

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

如何让千里马在未来产出

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

所以,如果我想X是A + BC,我只是改变它,并重新评估


问题2: 与之前类似,但有点复杂

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

如何获得千里马输出

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

我得到千里马解决EQ1的解决EQ2为电子和输出

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

预先感谢您的帮助, 圭多怎么办

我认为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 

千里马的solve功能不是太强大;有许多种方法无法解决。但它可以解决线性方程。

+0

非常感谢你,罗伯特!我不知道可以用那种方法。真的很感激你的帮助 – guidout